diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py index a71643382..6985d6605 100644 --- a/jenkins_jobs/modules/triggers.py +++ b/jenkins_jobs/modules/triggers.py @@ -1573,6 +1573,7 @@ def gitlab(registry, xml_parent, data): (eg. Merge request or Git Push) (default true) :arg bool cancel-pending-builds-on-update: Cancel pending merge request builds on update (default false) + :arg str pending-build-name: Set the pending merge request build name (optional) :arg bool add-note-merge-request: Add note with build status on merge requests (default true) :arg bool add-vote-merge-request: Vote added to note with build status @@ -1693,17 +1694,19 @@ def gitlab(registry, xml_parent, data): ("target-branch-regex", "targetBranchRegex", ""), ("secret-token", "secretToken", ""), ] + helpers.convert_mapping_to_xml(gitlab, data, mapping, fail_required=True) list_mapping = ( ("include-branches", "includeBranchesSpec", []), ("exclude-branches", "excludeBranchesSpec", []), ) - helpers.convert_mapping_to_xml(gitlab, data, mapping, fail_required=True) - for yaml_name, xml_name, default_val in list_mapping: value = ", ".join(data.get(yaml_name, default_val)) _add_xml(gitlab, xml_name, value) + optional_mapping = (("pending-build-name", "pendingBuildName", None),) + helpers.convert_mapping_to_xml(gitlab, data, optional_mapping, fail_required=False) + def gogs(registry, xml_parent, data): """yaml: gogs diff --git a/tests/triggers/fixtures/gitlab004.xml b/tests/triggers/fixtures/gitlab004.xml index 8ddde8e38..c70b069b3 100644 --- a/tests/triggers/fixtures/gitlab004.xml +++ b/tests/triggers/fixtures/gitlab004.xml @@ -24,6 +24,7 @@ master, master2, local-test broken-test, master-foo + test diff --git a/tests/triggers/fixtures/gitlab004.yaml b/tests/triggers/fixtures/gitlab004.yaml index d4f21d130..fbd2f5725 100644 --- a/tests/triggers/fixtures/gitlab004.yaml +++ b/tests/triggers/fixtures/gitlab004.yaml @@ -16,3 +16,4 @@ triggers: exclude-branches: - 'broken-test' - 'master-foo' + pending-build-name: 'test'