diff --git a/changelogs/unreleased/jsonnet-template.yml b/changelogs/unreleased/jsonnet-template.yml
new file mode 100644
index 0000000000000000000000000000000000000000..64743e05c0f641fc155888c8859ce7a5ee0b0f5c
--- /dev/null
+++ b/changelogs/unreleased/jsonnet-template.yml
@@ -0,0 +1,5 @@
+---
+title: Add Jsonnet template for GitLab
+merge_request: 37058
+author:
+type: added
diff --git a/lib/gitlab/project_template.rb b/lib/gitlab/project_template.rb
index fdb3fbc03bc9328284111e4f312bfa7f639dc874..e6e599e079dfadf8c8c809a5e2f484fb9e0152f4 100644
--- a/lib/gitlab/project_template.rb
+++ b/lib/gitlab/project_template.rb
@@ -59,6 +59,7 @@ def self.localized_templates_table
         ProjectTemplate.new('nfhexo', 'Netlify/Hexo', _('A Hexo site that uses Netlify for CI/CD instead of GitLab, but still with all the other great GitLab features.'), 'https://gitlab.com/pages/nfhexo', 'illustrations/logos/netlify.svg'),
         ProjectTemplate.new('salesforcedx', 'SalesforceDX', _('A project boilerplate for Salesforce App development with Salesforce Developer tools.'), 'https://gitlab.com/gitlab-org/project-templates/salesforcedx'),
         ProjectTemplate.new('serverless_framework', 'Serverless Framework/JS', _('A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages'), 'https://gitlab.com/gitlab-org/project-templates/serverless-framework', 'illustrations/logos/serverless_framework.svg'),
+        ProjectTemplate.new('jsonnet', 'Jsonnet for Dynamic Child Pipelines', _('An example showing how to use Jsonnet with GitLab dynamic child pipelines'), 'https://gitlab.com/gitlab-org/project-templates/jsonnet'),
         ProjectTemplate.new('cluster_management', 'GitLab Cluster Management', _('An example project for managing Kubernetes clusters integrated with GitLab.'), 'https://gitlab.com/gitlab-org/project-templates/cluster-management')
       ].freeze
     end
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index ee9f2a92766001f8f2599dcfb4f8a927e154d8a8..7b384d4de6affe5ac0651df6ab0e78b29228c224 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -2742,6 +2742,9 @@ msgstr ""
 msgid "An example project for managing Kubernetes clusters integrated with GitLab."
 msgstr ""
 
+msgid "An example showing how to use Jsonnet with GitLab dynamic child pipelines"
+msgstr ""
+
 msgid "An instance-level serverless domain already exists."
 msgstr ""
 
diff --git a/spec/lib/gitlab/project_template_spec.rb b/spec/lib/gitlab/project_template_spec.rb
index 127c22734b9410dfa8b7a922f02f0d0a9e5e1748..fa45c605b1b981e4588edfbac7c8682d0f3189ef 100644
--- a/spec/lib/gitlab/project_template_spec.rb
+++ b/spec/lib/gitlab/project_template_spec.rb
@@ -10,7 +10,7 @@
         gomicro gatsby hugo jekyll plainhtml gitbook
         hexo sse_middleman nfhugo nfjekyll nfplainhtml
         nfgitbook nfhexo salesforcedx serverless_framework
-        cluster_management
+        jsonnet cluster_management
       ]
 
       expect(described_class.all).to be_an(Array)
diff --git a/vendor/project_templates/jsonnet.tar.gz b/vendor/project_templates/jsonnet.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8da4227530a3c3c9b5120554f0344bb913bfd11b
Binary files /dev/null and b/vendor/project_templates/jsonnet.tar.gz differ