Extend trigger_builds functionality
To support fan-out and conditional trigger behaviour with Jenkins Parameterized Trigger Plugin add following attributes: * Config for failTriggerOnMissing * Parameter factories Change-Id: I3755ed32779e64e7aee7a55a00c683edff6bbbd8
This commit is contained in:
parent
04139e0f5e
commit
d78d0329f6
|
@ -262,6 +262,9 @@ def trigger_builds(parser, xml_parent, data):
|
||||||
key/value pairs to be passed to the job (optional)
|
key/value pairs to be passed to the job (optional)
|
||||||
:arg str property-file:
|
:arg str property-file:
|
||||||
Pass properties from file to the other job (optional)
|
Pass properties from file to the other job (optional)
|
||||||
|
:arg bool property-file-fail-on-missing:
|
||||||
|
Don't trigger if any files are missing (optional)
|
||||||
|
(default true)
|
||||||
:arg bool current-parameters: Whether to include the
|
:arg bool current-parameters: Whether to include the
|
||||||
parameters passed to the current build to the
|
parameters passed to the current build to the
|
||||||
triggered job.
|
triggered job.
|
||||||
|
@ -271,11 +274,45 @@ def trigger_builds(parser, xml_parent, data):
|
||||||
to finish or not (default false)
|
to finish or not (default false)
|
||||||
:arg bool same-node: Use the same node for the triggered builds that was
|
:arg bool same-node: Use the same node for the triggered builds that was
|
||||||
used for this build (optional)
|
used for this build (optional)
|
||||||
|
:arg list parameter-factories: list of parameter factories
|
||||||
|
|
||||||
Example:
|
:Factory: * **factory** (`str`) **filebuild** -- For every property file,
|
||||||
|
invoke one build
|
||||||
|
* **file-pattern** (`str`) -- File wildcard pattern
|
||||||
|
* **no-files-found-action** (`str`) -- Action to perform when
|
||||||
|
no files found (optional) ['FAIL', 'SKIP', 'NOPARMS']
|
||||||
|
(default 'SKIP')
|
||||||
|
|
||||||
|
:Factory: * **factory** (`str`) **binaryfile** -- For every matching
|
||||||
|
file, invoke one build
|
||||||
|
* **file-pattern** (`str`) -- Artifact ID of the artifact
|
||||||
|
* **no-files-found-action** (`str`) -- Action to perform when
|
||||||
|
no files found (optional) ['FAIL', 'SKIP', 'NOPARMS']
|
||||||
|
(default 'SKIP')
|
||||||
|
|
||||||
|
:Factory: * **factory** (`str`) **counterbuild** -- Invoke i=0...N builds
|
||||||
|
* **from** (`int`) -- Artifact ID of the artifact
|
||||||
|
* **to** (`int`) -- Version of the artifact
|
||||||
|
* **step** (`int`) -- Classifier of the artifact
|
||||||
|
* **parameters** (`str`) -- KEY=value pairs, one per line
|
||||||
|
(default '')
|
||||||
|
* **validation-fail** (`str`) -- Action to perform when
|
||||||
|
stepping validation fails (optional)
|
||||||
|
['FAIL', 'SKIP', 'NOPARMS']
|
||||||
|
(default 'FAIL')
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
Basic usage.
|
||||||
|
|
||||||
.. literalinclude:: /../../tests/builders/fixtures/trigger-builds001.yaml
|
.. literalinclude:: /../../tests/builders/fixtures/trigger-builds001.yaml
|
||||||
:language: yaml
|
:language: yaml
|
||||||
|
|
||||||
|
Example with all supported parameter factories.
|
||||||
|
|
||||||
|
.. literalinclude:: \
|
||||||
|
/../../tests/builders/fixtures/trigger-builds-configfactory-multi.yaml
|
||||||
|
:language: yaml
|
||||||
"""
|
"""
|
||||||
tbuilder = XML.SubElement(xml_parent,
|
tbuilder = XML.SubElement(xml_parent,
|
||||||
'hudson.plugins.parameterizedtrigger.'
|
'hudson.plugins.parameterizedtrigger.'
|
||||||
|
@ -307,8 +344,11 @@ def trigger_builds(parser, xml_parent, data):
|
||||||
'FileBuildParameters')
|
'FileBuildParameters')
|
||||||
propertiesFile = XML.SubElement(params, 'propertiesFile')
|
propertiesFile = XML.SubElement(params, 'propertiesFile')
|
||||||
propertiesFile.text = project_def['property-file']
|
propertiesFile.text = project_def['property-file']
|
||||||
failOnMissing = XML.SubElement(params, 'failTriggerOnMissing')
|
failTriggerOnMissing = XML.SubElement(params,
|
||||||
failOnMissing.text = 'true'
|
'failTriggerOnMissing')
|
||||||
|
failTriggerOnMissing.text = str(project_def.get(
|
||||||
|
'property-file-fail-on-missing', True)).lower()
|
||||||
|
|
||||||
if 'predefined-parameters' in project_def:
|
if 'predefined-parameters' in project_def:
|
||||||
params = XML.SubElement(tconfigs,
|
params = XML.SubElement(tconfigs,
|
||||||
'hudson.plugins.parameterizedtrigger.'
|
'hudson.plugins.parameterizedtrigger.'
|
||||||
|
@ -317,6 +357,67 @@ def trigger_builds(parser, xml_parent, data):
|
||||||
properties.text = project_def['predefined-parameters']
|
properties.text = project_def['predefined-parameters']
|
||||||
if(len(list(tconfigs)) == 0):
|
if(len(list(tconfigs)) == 0):
|
||||||
tconfigs.set('class', 'java.util.Collections$EmptyList')
|
tconfigs.set('class', 'java.util.Collections$EmptyList')
|
||||||
|
|
||||||
|
if 'parameter-factories' in project_def:
|
||||||
|
fconfigs = XML.SubElement(tconfig, 'configFactories')
|
||||||
|
|
||||||
|
supported_factories = ['filebuild', 'binaryfile', 'counterbuild']
|
||||||
|
supported_actions = ['SKIP', 'NOPARMS', 'FAIL']
|
||||||
|
for factory in project_def['parameter-factories']:
|
||||||
|
|
||||||
|
if factory['factory'] not in supported_factories:
|
||||||
|
raise JenkinsJobsException("factory must be one of %s" %
|
||||||
|
", ".join(supported_factories))
|
||||||
|
|
||||||
|
if factory['factory'] == 'filebuild':
|
||||||
|
params = XML.SubElement(
|
||||||
|
fconfigs,
|
||||||
|
'hudson.plugins.parameterizedtrigger.'
|
||||||
|
'FileBuildParameterFactory')
|
||||||
|
if factory['factory'] == 'binaryfile':
|
||||||
|
params = XML.SubElement(
|
||||||
|
fconfigs,
|
||||||
|
'hudson.plugins.parameterizedtrigger.'
|
||||||
|
'BinaryFileParameterFactory')
|
||||||
|
parameterName = XML.SubElement(params, 'parameterName')
|
||||||
|
parameterName.text = factory['parameter-name']
|
||||||
|
if (factory['factory'] == 'filebuild' or
|
||||||
|
factory['factory'] == 'binaryfile'):
|
||||||
|
filePattern = XML.SubElement(params, 'filePattern')
|
||||||
|
filePattern.text = factory['file-pattern']
|
||||||
|
noFilesFoundAction = XML.SubElement(
|
||||||
|
params,
|
||||||
|
'noFilesFoundAction')
|
||||||
|
noFilesFoundActionValue = str(factory.get(
|
||||||
|
'no-files-found-action', 'SKIP'))
|
||||||
|
if noFilesFoundActionValue not in supported_actions:
|
||||||
|
raise JenkinsJobsException(
|
||||||
|
"no-files-found-action must be one of %s" %
|
||||||
|
", ".join(supported_actions))
|
||||||
|
noFilesFoundAction.text = noFilesFoundActionValue
|
||||||
|
if factory['factory'] == 'counterbuild':
|
||||||
|
params = XML.SubElement(
|
||||||
|
fconfigs,
|
||||||
|
'hudson.plugins.parameterizedtrigger.'
|
||||||
|
'CounterBuildParameterFactory')
|
||||||
|
fromProperty = XML.SubElement(params, 'from')
|
||||||
|
fromProperty.text = str(factory['from'])
|
||||||
|
toProperty = XML.SubElement(params, 'to')
|
||||||
|
toProperty.text = str(factory['to'])
|
||||||
|
stepProperty = XML.SubElement(params, 'step')
|
||||||
|
stepProperty.text = str(factory['step'])
|
||||||
|
paramExpr = XML.SubElement(params, 'paramExpr')
|
||||||
|
paramExpr.text = str(factory.get(
|
||||||
|
'parameters', ''))
|
||||||
|
validationFail = XML.SubElement(params, 'validationFail')
|
||||||
|
validationFailValue = str(factory.get(
|
||||||
|
'validation-fail', 'FAIL'))
|
||||||
|
if validationFailValue not in supported_actions:
|
||||||
|
raise JenkinsJobsException(
|
||||||
|
"validation-fail action must be one of %s" %
|
||||||
|
", ".join(supported_actions))
|
||||||
|
validationFail.text = validationFailValue
|
||||||
|
|
||||||
projects = XML.SubElement(tconfig, 'projects')
|
projects = XML.SubElement(tconfig, 'projects')
|
||||||
projects.text = project_def['project']
|
projects.text = project_def['project']
|
||||||
condition = XML.SubElement(tconfig, 'condition')
|
condition = XML.SubElement(tconfig, 'condition')
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<builders>
|
||||||
|
<hudson.plugins.parameterizedtrigger.TriggerBuilder>
|
||||||
|
<configs>
|
||||||
|
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
||||||
|
<configs class="java.util.Collections$EmptyList"/>
|
||||||
|
<configFactories>
|
||||||
|
<hudson.plugins.parameterizedtrigger.BinaryFileParameterFactory>
|
||||||
|
<parameterName>filename</parameterName>
|
||||||
|
<filePattern>propfile*.txt</filePattern>
|
||||||
|
<noFilesFoundAction>FAIL</noFilesFoundAction>
|
||||||
|
</hudson.plugins.parameterizedtrigger.BinaryFileParameterFactory>
|
||||||
|
</configFactories>
|
||||||
|
<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>
|
|
@ -0,0 +1,9 @@
|
||||||
|
builders:
|
||||||
|
- trigger-builds:
|
||||||
|
- project: "build_started"
|
||||||
|
parameter-factories:
|
||||||
|
- factory: binaryfile
|
||||||
|
parameter-name: filename
|
||||||
|
file-pattern: propfile*.txt
|
||||||
|
no-files-found-action: FAIL
|
||||||
|
block: true
|
|
@ -0,0 +1,40 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<builders>
|
||||||
|
<hudson.plugins.parameterizedtrigger.TriggerBuilder>
|
||||||
|
<configs>
|
||||||
|
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
||||||
|
<configs class="java.util.Collections$EmptyList"/>
|
||||||
|
<configFactories>
|
||||||
|
<hudson.plugins.parameterizedtrigger.BinaryFileParameterFactory>
|
||||||
|
<parameterName>filename</parameterName>
|
||||||
|
<filePattern>propfile*.txt</filePattern>
|
||||||
|
<noFilesFoundAction>SKIP</noFilesFoundAction>
|
||||||
|
</hudson.plugins.parameterizedtrigger.BinaryFileParameterFactory>
|
||||||
|
</configFactories>
|
||||||
|
<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>
|
|
@ -0,0 +1,8 @@
|
||||||
|
builders:
|
||||||
|
- trigger-builds:
|
||||||
|
- project: "build_started"
|
||||||
|
parameter-factories:
|
||||||
|
- factory: binaryfile
|
||||||
|
parameter-name: filename
|
||||||
|
file-pattern: propfile*.txt
|
||||||
|
block: true
|
|
@ -0,0 +1,44 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<builders>
|
||||||
|
<hudson.plugins.parameterizedtrigger.TriggerBuilder>
|
||||||
|
<configs>
|
||||||
|
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
||||||
|
<configs class="java.util.Collections$EmptyList"/>
|
||||||
|
<configFactories>
|
||||||
|
<hudson.plugins.parameterizedtrigger.CounterBuildParameterFactory>
|
||||||
|
<from>0</from>
|
||||||
|
<to>5</to>
|
||||||
|
<step>1</step>
|
||||||
|
<paramExpr>EXAMPLE=NICE
|
||||||
|
HELLO=WORLD
|
||||||
|
</paramExpr>
|
||||||
|
<validationFail>SKIP</validationFail>
|
||||||
|
</hudson.plugins.parameterizedtrigger.CounterBuildParameterFactory>
|
||||||
|
</configFactories>
|
||||||
|
<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>
|
|
@ -0,0 +1,13 @@
|
||||||
|
builders:
|
||||||
|
- trigger-builds:
|
||||||
|
- project: "build_started"
|
||||||
|
parameter-factories:
|
||||||
|
- factory: counterbuild
|
||||||
|
from: 0
|
||||||
|
to: 5
|
||||||
|
step: 1
|
||||||
|
validation-fail: SKIP
|
||||||
|
parameters: |
|
||||||
|
EXAMPLE=NICE
|
||||||
|
HELLO=WORLD
|
||||||
|
block: true
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<builders>
|
||||||
|
<hudson.plugins.parameterizedtrigger.TriggerBuilder>
|
||||||
|
<configs>
|
||||||
|
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
||||||
|
<configs class="java.util.Collections$EmptyList"/>
|
||||||
|
<configFactories>
|
||||||
|
<hudson.plugins.parameterizedtrigger.CounterBuildParameterFactory>
|
||||||
|
<from>0</from>
|
||||||
|
<to>5</to>
|
||||||
|
<step>1</step>
|
||||||
|
<paramExpr/>
|
||||||
|
<validationFail>FAIL</validationFail>
|
||||||
|
</hudson.plugins.parameterizedtrigger.CounterBuildParameterFactory>
|
||||||
|
</configFactories>
|
||||||
|
<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>
|
|
@ -0,0 +1,9 @@
|
||||||
|
builders:
|
||||||
|
- trigger-builds:
|
||||||
|
- project: "build_started"
|
||||||
|
parameter-factories:
|
||||||
|
- factory: counterbuild
|
||||||
|
from: 0
|
||||||
|
to: 5
|
||||||
|
step: 1
|
||||||
|
block: true
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<builders>
|
||||||
|
<hudson.plugins.parameterizedtrigger.TriggerBuilder>
|
||||||
|
<configs>
|
||||||
|
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
||||||
|
<configs class="java.util.Collections$EmptyList"/>
|
||||||
|
<configFactories>
|
||||||
|
<hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
|
||||||
|
<filePattern>propfile*.txt</filePattern>
|
||||||
|
<noFilesFoundAction>NOPARMS</noFilesFoundAction>
|
||||||
|
</hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
|
||||||
|
</configFactories>
|
||||||
|
<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>
|
|
@ -0,0 +1,8 @@
|
||||||
|
builders:
|
||||||
|
- trigger-builds:
|
||||||
|
- project: "build_started"
|
||||||
|
parameter-factories:
|
||||||
|
- factory: filebuild
|
||||||
|
file-pattern: propfile*.txt
|
||||||
|
no-files-found-action: NOPARMS
|
||||||
|
block: true
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<builders>
|
||||||
|
<hudson.plugins.parameterizedtrigger.TriggerBuilder>
|
||||||
|
<configs>
|
||||||
|
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
||||||
|
<configs class="java.util.Collections$EmptyList"/>
|
||||||
|
<configFactories>
|
||||||
|
<hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
|
||||||
|
<filePattern>propfile*.txt</filePattern>
|
||||||
|
<noFilesFoundAction>SKIP</noFilesFoundAction>
|
||||||
|
</hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
|
||||||
|
</configFactories>
|
||||||
|
<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>
|
|
@ -0,0 +1,7 @@
|
||||||
|
builders:
|
||||||
|
- trigger-builds:
|
||||||
|
- project: "build_started"
|
||||||
|
parameter-factories:
|
||||||
|
- factory: filebuild
|
||||||
|
file-pattern: propfile*.txt
|
||||||
|
block: true
|
|
@ -0,0 +1,57 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<project>
|
||||||
|
<builders>
|
||||||
|
<hudson.plugins.parameterizedtrigger.TriggerBuilder>
|
||||||
|
<configs>
|
||||||
|
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
|
||||||
|
<configs>
|
||||||
|
<hudson.plugins.parameterizedtrigger.CurrentBuildParameters/>
|
||||||
|
<hudson.plugins.parameterizedtrigger.SubversionRevisionBuildParameters/>
|
||||||
|
<hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
|
||||||
|
<properties>FOO="bar"</properties>
|
||||||
|
</hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
|
||||||
|
</configs>
|
||||||
|
<configFactories>
|
||||||
|
<hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
|
||||||
|
<filePattern>propfile*.txt</filePattern>
|
||||||
|
<noFilesFoundAction>SKIP</noFilesFoundAction>
|
||||||
|
</hudson.plugins.parameterizedtrigger.FileBuildParameterFactory>
|
||||||
|
<hudson.plugins.parameterizedtrigger.BinaryFileParameterFactory>
|
||||||
|
<parameterName>filename</parameterName>
|
||||||
|
<filePattern>otherpropfile*.txt</filePattern>
|
||||||
|
<noFilesFoundAction>SKIP</noFilesFoundAction>
|
||||||
|
</hudson.plugins.parameterizedtrigger.BinaryFileParameterFactory>
|
||||||
|
<hudson.plugins.parameterizedtrigger.CounterBuildParameterFactory>
|
||||||
|
<from>0</from>
|
||||||
|
<to>5</to>
|
||||||
|
<step>1</step>
|
||||||
|
<paramExpr/>
|
||||||
|
<validationFail>FAIL</validationFail>
|
||||||
|
</hudson.plugins.parameterizedtrigger.CounterBuildParameterFactory>
|
||||||
|
</configFactories>
|
||||||
|
<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>
|
|
@ -0,0 +1,18 @@
|
||||||
|
builders:
|
||||||
|
- trigger-builds:
|
||||||
|
- project: "build_started"
|
||||||
|
predefined-parameters:
|
||||||
|
FOO="bar"
|
||||||
|
current-parameters: true
|
||||||
|
svn-revision: true
|
||||||
|
parameter-factories:
|
||||||
|
- factory: filebuild
|
||||||
|
file-pattern: propfile*.txt
|
||||||
|
- factory: binaryfile
|
||||||
|
parameter-name: filename
|
||||||
|
file-pattern: otherpropfile*.txt
|
||||||
|
- factory: counterbuild
|
||||||
|
from: 0
|
||||||
|
to: 5
|
||||||
|
step: 1
|
||||||
|
block: true
|
|
@ -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>false</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>
|
|
@ -0,0 +1,6 @@
|
||||||
|
builders:
|
||||||
|
- trigger-builds:
|
||||||
|
- project: "build_started"
|
||||||
|
property-file: propfile.txt
|
||||||
|
property-file-fail-on-missing: false
|
||||||
|
block: true
|
Loading…
Reference in New Issue