diff --git a/ci-templates/auto-rules/jazzy-default.yml b/ci-templates/auto-rules/jazzy-default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1b87c83524972e77557119572bd3aed3c4dc5c2a
--- /dev/null
+++ b/ci-templates/auto-rules/jazzy-default.yml
@@ -0,0 +1,4 @@
+include: ci-templates/auto-rules/no-default.yml
+
+variables:
+  DEFAULT_DISTRO: jazzy
diff --git a/ci-templates/auto-rules/no-default.yml b/ci-templates/auto-rules/no-default.yml
index 4d90ee1e7c164ff53259a7bec8750dd85a040513..2bef990743dc0ed6f2fd9f57ebafebd9ff9d157a 100644
--- a/ci-templates/auto-rules/no-default.yml
+++ b/ci-templates/auto-rules/no-default.yml
@@ -14,6 +14,9 @@ workflow:
     - if: $CI_COMMIT_REF_NAME =~ /^humble-.*/
       variables:
         DEFAULT_DISTRO: "humble"
+    - if: $CI_COMMIT_REF_NAME =~ /^jazzy-.*/
+      variables:
+        DEFAULT_DISTRO: "jazzy"
     - if: $CI_COMMIT_TAG
     - if: $CI_COMMIT_BRANCH
 
@@ -49,6 +52,14 @@ industrial_ci_humble:
     - if: $DEFAULT_DISTRO == "humble"
     - if: $BUILD_HUMBLE
 
+industrial_ci_jazzy:
+  extends: .industrial_ci
+  variables:
+    ROS_DISTRO: jazzy
+  rules:
+    - if: $DEFAULT_DISTRO == "jazzy"
+    - if: $BUILD_JAZZY
+
 .py3_rules:
   rules:
     - if: $DEFAULT_DISTRO == "noetic"
@@ -59,6 +70,10 @@ industrial_ci_humble:
       when: always
     - if: $BUILD_HUMBLE
       when: always
+    - if: $DEFAULT_DISTRO == "jazzy"
+      when: always
+    - if: $BUILD_JAZZY
+      when: always
 
 py3-flake8:
   extends:
diff --git a/ci-templates/auto-rules/with-rosinstall/jazzy-default.yml b/ci-templates/auto-rules/with-rosinstall/jazzy-default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d60df2e86d9632058dae6aa6eacb3947edf2735d
--- /dev/null
+++ b/ci-templates/auto-rules/with-rosinstall/jazzy-default.yml
@@ -0,0 +1,4 @@
+include: ci-templates/auto-rules/with-rosinstall/no-default.yml
+
+variables:
+  DEFAULT_DISTRO: jazzy