diff options
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) |