diff options
author | Adam Romanek <romanek.adam@gmail.com> | 2020-05-25 13:58:04 +0200 |
---|---|---|
committer | Adam Romanek <romanek.adam@gmail.com> | 2020-05-25 13:59:13 +0200 |
commit | 8625fe2a975524f0f3382959ec8f4132b353c278 (patch) | |
tree | cc8c9eff1cd403035720df78ffd3a6dfb6b36dec /jenkins_jobs/modules/triggers.py | |
parent | 074985c7ff9360bb58be80ffab686746267f814f (diff) | |
download | python-jenkins-job-builder-8625fe2a975524f0f3382959ec8f4132b353c278.tar.gz python-jenkins-job-builder-8625fe2a975524f0f3382959ec8f4132b353c278.tar.xz python-jenkins-job-builder-8625fe2a975524f0f3382959ec8f4132b353c278.zip |
Pipelines: stop producing unsupported and deprecated XML tags
The changes include:
- <concurrentBuild> should now be represented as
<org.jenkinsci.plugins.workflow.job.properties.DisableConcurrentBuildsJobProperty/>
property
- <triggers> should now be localed inside
<org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
property, in <properties> section
- unsupported XML elements got removed:
- <blockBuildWhenDownstreamBuilding>
- <blockBuildWhenUpstreamBuilding>
- <assignedNode>
- <canRoam>
- <customWorkspace>
- got rid of publishers from project_pipeline_template005.{xml,yaml} as
these are not supported in Pipeline jobs
The above changes align the produced XMLs with the ones from Jenkins 2.190.1
and Pipeline plugin v2.6.
Task: 39836
Story: 2007708
Change-Id: I650ef2ee60e872cce8f93de5f391933d68ec81f0
Diffstat (limited to 'jenkins_jobs/modules/triggers.py')
-rw-r--r-- | jenkins_jobs/modules/triggers.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py index 43128489..2f89b5c6 100644 --- a/jenkins_jobs/modules/triggers.py +++ b/jenkins_jobs/modules/triggers.py @@ -2454,6 +2454,17 @@ class Triggers(jenkins_jobs.modules.base.Base): if not triggers: return - trig_e = XML.SubElement(xml_parent, "triggers", {"class": "vector"}) + if data.get("project-type", "freestyle") != "pipeline": + trig_e = XML.SubElement(xml_parent, "triggers", {"class": "vector"}) + else: + properties = xml_parent.find("properties") + if properties is None: + properties = XML.SubElement(xml_parent, "properties") + pipeline_trig_prop = XML.SubElement( + properties, + "org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty", + ) + trig_e = XML.SubElement(pipeline_trig_prop, "triggers") + for trigger in triggers: self.registry.dispatch("trigger", trig_e, trigger) |