summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Boivie <victor.boivie@sonymobile.com>2014-04-02 16:40:08 +0200
committerVictor Boivie <victor.boivie@sonymobile.com>2014-04-04 12:58:53 +0200
commita2756a00389323fbf76ef367ca351e911849b73d (patch)
tree700185972f727a2ce659e6d6fbfcce0fe57c003b
parent72c02d41068a3935717d8666531781d7f05ced52 (diff)
downloadpython-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.py10
-rw-r--r--tests/builders/fixtures/trigger-builds002.xml38
-rw-r--r--tests/builders/fixtures/trigger-builds002.yaml5
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