diff --git a/build-jobs.jinja2 b/build-jobs.jinja2
index e3638a302b920c31db8a2065458b3b0d7728e719..8d8cbc452249aba999d246a905846871839cbf32 100644
--- a/build-jobs.jinja2
+++ b/build-jobs.jinja2
@@ -7,18 +7,18 @@
 # with checked out repository, we need to get the includes
 # directly from gitlab
 include:
-  - project: '{{ ci_project_root_namespace }}/yocto/infrastructure/gitlab-ci'
-    ref: {{ gitlab_ci_current_rev }}
+  - project: '{{ CI_PROJECT_ROOT_NAMESPACE }}/yocto/infrastructure/gitlab-ci'
+    ref: {{ GITLAB_CI_CURRENT_REV }}
     file: 'common.yml'
-  - project: '{{ ci_project_root_namespace }}/yocto/infrastructure/gitlab-ci'
-    ref: {{ gitlab_ci_current_rev }}
+  - project: '{{ CI_PROJECT_ROOT_NAMESPACE }}/yocto/infrastructure/gitlab-ci'
+    ref: {{ GITLAB_CI_CURRENT_REV }}
     file: 'manifest-build.yml'
-  - project: '{{ ci_project_root_namespace }}/yocto/infrastructure/gitlab-ci'
-    ref: {{ gitlab_ci_current_rev }}
+  - project: '{{ CI_PROJECT_ROOT_NAMESPACE }}/yocto/infrastructure/gitlab-ci'
+    ref: {{ GITLAB_CI_CURRENT_REV }}
     file: 'manifest-package.yml'
 
 variables:
-  MASTER_BRANCH_MANIFEST: {{ master_branch_manifest }}
+  MASTER_BRANCH_MANIFEST: {{ MASTER_BRANCH_MANIFEST }}
 
 workflow:
   rules:
@@ -41,7 +41,7 @@ changelog:
   extends: .infrastructure
   script: .gitlab-ci/scripts/changelog_generator.py
               --token=${GITBOT_TOKEN}
-              --branch {{ master_branch_manifest }}
+              --branch=${MASTER_BRANCH_MANIFEST}
               > changelog.md
   artifacts:
     expire_in: 4 weeks
@@ -52,18 +52,18 @@ changelog:
 # Generated build jobs
 # --------------------------------------------------------------------------------------
 
-{% if distro is not defined %}
-{% set distro = "guf-wayland" %}
+{% if CI_PARAM_DISTRO is not defined %}
+{% set CI_PARAM_DISTRO = "guf-wayland" %}
 {% endif %}
-{% if distro_fng is not defined %}
-{% set distro_fng = "guf-fngsystem" %}
+{% if CI_PARAM_DISTRO_FNG is not defined %}
+{% set CI_PARAM_DISTRO_FNG = "guf-fngsystem" %}
 {% endif %}
 
-{% if optional_arguments is defined %}
+{% if CI_PARAM_MACHINES is defined %}
 
-{% for machine in optional_arguments %}
+{% for machine in CI_PARAM_MACHINES.split(' ') %}
 
-{% if yocto_image %}
+{% if CI_PARAM_IMAGE %}
 
 # Build jobs for the normal yocto image
 build-{{ machine }}:
@@ -71,8 +71,8 @@ build-{{ machine }}:
   stage: build
   variables:
     CI_PARAM_MACHINE: {{ machine }}
-    CI_PARAM_DISTRO: {{ distro }}
-    CI_PARAM_IMAGE: {{ yocto_image }}
+    CI_PARAM_DISTRO: {{ CI_PARAM_DISTRO }}
+    CI_PARAM_IMAGE: {{ CI_PARAM_IMAGE }}
 
 # Build jobs for the sdk
 buildsdk-{{ machine }}:
@@ -80,8 +80,8 @@ buildsdk-{{ machine }}:
   stage: build
   variables:
     CI_PARAM_MACHINE: {{ machine }}
-    CI_PARAM_DISTRO: {{ distro }}
-    CI_PARAM_IMAGE: {{ yocto_image }}
+    CI_PARAM_DISTRO: {{ CI_PARAM_DISTRO }}
+    CI_PARAM_IMAGE: {{ CI_PARAM_IMAGE }}
 
 # Deploy jobs for the yocto image
 deployimage-{{ machine }}:
@@ -133,9 +133,9 @@ platformtest:{{ machine }}:
     CI_PARAM_PLATFORMS: {{ platforms }}
 {% endif %}
 
-{% endif %} # if yocto_image is defined
+{% endif %} # if CI_PARAM_IMAGE is defined
 
-{% if fngsystem_image %}
+{% if CI_PARAM_IMAGE_FNG %}
 
 # Build jobs for the fng system image
 build-{{ machine }}-fngsystem:
@@ -143,8 +143,8 @@ build-{{ machine }}-fngsystem:
   stage: build
   variables:
     CI_PARAM_MACHINE: {{ machine }}
-    CI_PARAM_DISTRO: {{ distro_fng }}
-    CI_PARAM_IMAGE: {{ fngsystem_image }}
+    CI_PARAM_DISTRO: {{ CI_PARAM_DISTRO_FNG }}
+    CI_PARAM_IMAGE: {{ CI_PARAM_IMAGE_FNG }}
 
 # Deploy jobs for the fngsystem image
 deployimage-{{ machine }}-fngsystem:
@@ -158,7 +158,7 @@ uploadftp-{{ machine }}-fngsystem:
   stage: uploadftp
   needs: [build-{{ machine }}-fngsystem, changelog]
 
-{% endif %} # if fngsystem_image is defined
+{% endif %} # if CI_PARAM_IMAGE_FNG is defined
 
 {% endfor %}
 {% endif %}
diff --git a/manifest.yml b/manifest.yml
index 5cfad0a118b8b772480480f21eb26b379427c858..8485d516e88a01bab7222cf5a05e2fd273e08fa7 100644
--- a/manifest.yml
+++ b/manifest.yml
@@ -90,16 +90,11 @@ generate-build-jobs:
   rules:
     - if: $CI_COMMIT_REF_NAME != $MASTER_BRANCH_MANIFEST || $CI_PIPELINE_SOURCE == "api"
   script:
+    # The job generation script implicitly passes the OS environment to the template, so
+    # that the template has access to all GitLab CI variables. Hence there is no need
+    # to explicitly pass any of them as command line arguments.
     - .gitlab-ci/scripts/generate_job_from_template.py
               --template=.gitlab-ci/build-jobs.jinja2
-              --distro=$CI_PARAM_DISTRO
-              --yocto_image=$CI_PARAM_IMAGE
-              --distro_fng=$CI_PARAM_DISTRO_FNG
-              --fngsystem_image=$CI_PARAM_IMAGE_FNG
-              --gitlab_ci_current_rev=$GITLAB_CI_CURRENT_REV
-              --ci_project_root_namespace=$CI_PROJECT_ROOT_NAMESPACE
-              --master_branch_manifest=$MASTER_BRANCH_MANIFEST
-              $CI_PARAM_MACHINES
               > build-jobs.yml
   artifacts:
     expire_in: 4 weeks