Add support for Managed Script Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Managed+Script+Plugin Change-Id: Ic37f02886f242f5ff31a7421e699b85227c5264f
This commit is contained in:
parent
3696fdaba2
commit
15282bdd3d
@ -1174,3 +1174,49 @@ def shining_panda(parser, xml_parent, data):
|
||||
XML.SubElement(t, 'command').text = data.get("command", "")
|
||||
ignore_exit_code = data.get('ignore-exit-code', False)
|
||||
XML.SubElement(t, 'ignoreExitCode').text = str(ignore_exit_code).lower()
|
||||
|
||||
|
||||
def managed_script(parser, xml_parent, data):
|
||||
"""yaml: managed-script
|
||||
This step allows to reference and execute a centrally managed
|
||||
script within your build. Requires the Jenkins `Managed Script Plugin.
|
||||
<https://wiki.jenkins-ci.org/display/JENKINS/Managed+Script+Plugin>`_
|
||||
|
||||
:arg str script-id: Id of script to execute (Required)
|
||||
:arg str type: Type of managed file (default: script)
|
||||
|
||||
:type values:
|
||||
* **batch**: Execute managed windows batch
|
||||
* **script**: Execute managed script
|
||||
|
||||
:arg list args: Arguments to be passed to referenced script
|
||||
|
||||
Example:
|
||||
|
||||
.. literalinclude:: /../../tests/builders/fixtures/managed-script.yaml
|
||||
:language: yaml
|
||||
|
||||
.. literalinclude:: /../../tests/builders/fixtures/managed-winbatch.yaml
|
||||
:language: yaml
|
||||
"""
|
||||
step_type = data.get('type', 'script').lower()
|
||||
if step_type == 'script':
|
||||
step = 'ScriptBuildStep'
|
||||
script_tag = 'buildStepId'
|
||||
elif step_type == 'batch':
|
||||
step = 'WinBatchBuildStep'
|
||||
script_tag = 'command'
|
||||
else:
|
||||
raise JenkinsJobsException("type entered is not valid must be "
|
||||
"one of: script or batch")
|
||||
ms = XML.SubElement(xml_parent,
|
||||
'org.jenkinsci.plugins.managedscripts.' + step)
|
||||
try:
|
||||
script_id = data['script-id']
|
||||
except KeyError:
|
||||
raise JenkinsJobsException("A script-id is required for "
|
||||
"managed-script")
|
||||
XML.SubElement(ms, script_tag).text = script_id
|
||||
args = XML.SubElement(ms, 'buildStepArgs')
|
||||
for arg in data.get('args', []):
|
||||
XML.SubElement(args, 'string').text = arg
|
||||
|
@ -51,6 +51,7 @@ jenkins_jobs.builders =
|
||||
gradle=jenkins_jobs.modules.builders:gradle
|
||||
grails=jenkins_jobs.modules.builders:grails
|
||||
inject=jenkins_jobs.modules.builders:inject
|
||||
managed-script=jenkins_jobs.modules.builders:managed_script
|
||||
maven-target=jenkins_jobs.modules.builders:maven_target
|
||||
msbuild=jenkins_jobs.modules.builders:msbuild
|
||||
multijob=jenkins_jobs.modules.builders:multijob
|
||||
|
12
tests/builders/fixtures/managed-script.xml
Normal file
12
tests/builders/fixtures/managed-script.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<project>
|
||||
<builders>
|
||||
<org.jenkinsci.plugins.managedscripts.ScriptBuildStep>
|
||||
<buildStepId>org.jenkinsci.plugins.managedscripts.ScriptConfig1401886156431</buildStepId>
|
||||
<buildStepArgs>
|
||||
<string>arg1</string>
|
||||
<string>arg2</string>
|
||||
</buildStepArgs>
|
||||
</org.jenkinsci.plugins.managedscripts.ScriptBuildStep>
|
||||
</builders>
|
||||
</project>
|
7
tests/builders/fixtures/managed-script.yaml
Normal file
7
tests/builders/fixtures/managed-script.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
builders:
|
||||
- managed-script:
|
||||
script-id: org.jenkinsci.plugins.managedscripts.ScriptConfig1401886156431
|
||||
type: script
|
||||
args:
|
||||
- arg1
|
||||
- arg2
|
12
tests/builders/fixtures/managed-winbatch.xml
Normal file
12
tests/builders/fixtures/managed-winbatch.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<project>
|
||||
<builders>
|
||||
<org.jenkinsci.plugins.managedscripts.WinBatchBuildStep>
|
||||
<command>org.jenkinsci.plugins.managedscripts.WinBatchConfig1402391729132</command>
|
||||
<buildStepArgs>
|
||||
<string>arg1</string>
|
||||
<string>arg2</string>
|
||||
</buildStepArgs>
|
||||
</org.jenkinsci.plugins.managedscripts.WinBatchBuildStep>
|
||||
</builders>
|
||||
</project>
|
7
tests/builders/fixtures/managed-winbatch.yaml
Normal file
7
tests/builders/fixtures/managed-winbatch.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
builders:
|
||||
- managed-script:
|
||||
script-id: org.jenkinsci.plugins.managedscripts.WinBatchConfig1402391729132
|
||||
type: batch
|
||||
args:
|
||||
- arg1
|
||||
- arg2
|
Loading…
x
Reference in New Issue
Block a user