summaryrefslogtreecommitdiffstats
path: root/jenkins_jobs/modules/triggers.py
diff options
context:
space:
mode:
authorAdam Romanek <romanek.adam@gmail.com>2020-05-25 13:58:04 +0200
committerAdam Romanek <romanek.adam@gmail.com>2020-05-25 13:59:13 +0200
commit8625fe2a975524f0f3382959ec8f4132b353c278 (patch)
treecc8c9eff1cd403035720df78ffd3a6dfb6b36dec /jenkins_jobs/modules/triggers.py
parent074985c7ff9360bb58be80ffab686746267f814f (diff)
downloadpython-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.py13
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)