diff options
author | Victor Boivie <victor.boivie@sonymobile.com> | 2014-04-02 16:40:08 +0200 |
---|---|---|
committer | Victor Boivie <victor.boivie@sonymobile.com> | 2014-04-04 12:58:53 +0200 |
commit | a2756a00389323fbf76ef367ca351e911849b73d (patch) | |
tree | 700185972f727a2ce659e6d6fbfcce0fe57c003b | |
parent | 72c02d41068a3935717d8666531781d7f05ced52 (diff) | |
download | python-jenkins-job-builder-a2756a00389323fbf76ef367ca351e911849b73d.tar.gz python-jenkins-job-builder-a2756a00389323fbf76ef367ca351e911849b73d.tar.xz python-jenkins-job-builder-a2756a00389323fbf76ef367ca351e911849b73d.zip |
triggered-builds: Support property file injection
Change-Id: I31091977560eabf5656aaa8706de5410d86d5caf
-rw-r--r-- | jenkins_jobs/modules/builders.py | 10 | ||||
-rw-r--r-- | tests/builders/fixtures/trigger-builds002.xml | 38 | ||||
-rw-r--r-- | tests/builders/fixtures/trigger-builds002.yaml | 5 |
3 files changed, 53 insertions, 0 deletions
diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py index e995c3e2..37386872 100644 --- a/jenkins_jobs/modules/builders.py +++ b/jenkins_jobs/modules/builders.py @@ -264,6 +264,8 @@ def trigger_builds(parser, xml_parent, data): :arg str project: the Jenkins project to trigger :arg str predefined-parameters: key/value pairs to be passed to the job (optional) + :arg str property-file: + Pass properties from file to the other job (optional) :arg bool current-parameters: Whether to include the parameters passed to the current build to the triggered job. @@ -296,6 +298,14 @@ def trigger_builds(parser, xml_parent, data): XML.SubElement(tconfigs, 'hudson.plugins.parameterizedtrigger.' 'SubversionRevisionBuildParameters') + if 'property-file' in project_def: + params = XML.SubElement(tconfigs, + 'hudson.plugins.parameterizedtrigger.' + 'FileBuildParameters') + propertiesFile = XML.SubElement(params, 'propertiesFile') + propertiesFile.text = project_def['property-file'] + failOnMissing = XML.SubElement(params, 'failTriggerOnMissing') + failOnMissing.text = 'true' if 'predefined-parameters' in project_def: params = XML.SubElement(tconfigs, 'hudson.plugins.parameterizedtrigger.' diff --git a/tests/builders/fixtures/trigger-builds002.xml b/tests/builders/fixtures/trigger-builds002.xml new file mode 100644 index 00000000..63b7caa8 --- /dev/null +++ b/tests/builders/fixtures/trigger-builds002.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<project> + <builders> + <hudson.plugins.parameterizedtrigger.TriggerBuilder> + <configs> + <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> + <configs> + <hudson.plugins.parameterizedtrigger.FileBuildParameters> + <propertiesFile>propfile.txt</propertiesFile> + <failTriggerOnMissing>true</failTriggerOnMissing> + </hudson.plugins.parameterizedtrigger.FileBuildParameters> + </configs> + <projects>build_started</projects> + <condition>ALWAYS</condition> + <triggerWithNoParameters>false</triggerWithNoParameters> + <buildAllNodesWithLabel>false</buildAllNodesWithLabel> + <block> + <buildStepFailureThreshold> + <name>FAILURE</name> + <ordinal>2</ordinal> + <color>RED</color> + </buildStepFailureThreshold> + <unstableThreshold> + <name>UNSTABLE</name> + <ordinal>1</ordinal> + <color>YELLOW</color> + </unstableThreshold> + <failureThreshold> + <name>FAILURE</name> + <ordinal>2</ordinal> + <color>RED</color> + </failureThreshold> + </block> + </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> + </configs> + </hudson.plugins.parameterizedtrigger.TriggerBuilder> + </builders> +</project> diff --git a/tests/builders/fixtures/trigger-builds002.yaml b/tests/builders/fixtures/trigger-builds002.yaml new file mode 100644 index 00000000..281deeba --- /dev/null +++ b/tests/builders/fixtures/trigger-builds002.yaml @@ -0,0 +1,5 @@ +builders: + - trigger-builds: + - project: "build_started" + property-file: propfile.txt + block: true |