diff options
-rwxr-xr-x | jenkins_jobs/modules/publishers.py | 6 | ||||
-rw-r--r-- | tests/publishers/fixtures/join-trigger002.xml | 22 | ||||
-rw-r--r-- | tests/publishers/fixtures/join-trigger002.yaml | 8 |
3 files changed, 36 insertions, 0 deletions
diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py index fc28baed..48bb420c 100755 --- a/jenkins_jobs/modules/publishers.py +++ b/jenkins_jobs/modules/publishers.py @@ -3496,6 +3496,8 @@ def join_trigger(registry, xml_parent, data): :arg list projects: list of projects to trigger :arg list publishers: list of triggers from publishers module that defines projects that need to be triggered + :arg str threshold: result threshold to trigger jobs (optional). + Valid values are "success", "unstable", "failure", and "aborted". :arg bool even-if-unstable: if true jobs will trigger even if some downstream jobs are marked as unstable (default false) (DEPRECATED) @@ -3519,6 +3521,10 @@ def join_trigger(registry, xml_parent, data): if unstable: XML.SubElement(jointrigger, "evenIfDownstreamUnstable").text = unstable + threshold = data.get("threshold", "") + if threshold: + helpers.trigger_threshold(jointrigger, "resultThreshold", threshold) + def jabber(registry, xml_parent, data): """yaml: jabber diff --git a/tests/publishers/fixtures/join-trigger002.xml b/tests/publishers/fixtures/join-trigger002.xml new file mode 100644 index 00000000..9df79716 --- /dev/null +++ b/tests/publishers/fixtures/join-trigger002.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <publishers> + <hudson.tasks.BuildTrigger> + <childProjects>project-1,project-2</childProjects> + <threshold> + <name>FAILURE</name> + <ordinal>2</ordinal> + <color>RED</color> + </threshold> + </hudson.tasks.BuildTrigger> + <join.JoinTrigger> + <joinProjects>cleanup</joinProjects> + <joinPublishers/> + <resultThreshold> + <name>FAILURE</name> + <ordinal>2</ordinal> + <color>RED</color> + </resultThreshold> + </join.JoinTrigger> + </publishers> +</project> diff --git a/tests/publishers/fixtures/join-trigger002.yaml b/tests/publishers/fixtures/join-trigger002.yaml new file mode 100644 index 00000000..80940e47 --- /dev/null +++ b/tests/publishers/fixtures/join-trigger002.yaml @@ -0,0 +1,8 @@ +publishers: + - trigger: + project: project-1,project-2 + threshold: failure + - join-trigger: + projects: + - cleanup + threshold: failure |