Add property injection specification.

Add ability to have the Jenkins Job Builder specify a script and
property file to use to inject environment variables into builds.

Change-Id: I628753ea526735e950b9d17697a08df1b412604f
Reviewed-on: https://review.openstack.org/12382
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
This commit is contained in:
Clark Boylan 2012-09-04 15:12:06 -07:00 committed by Jenkins
parent cd8a018141
commit 5d47ef868f
2 changed files with 23 additions and 0 deletions

View File

@ -42,6 +42,28 @@ def throttle(parser, xml_parent, data):
XML.SubElement(throttle, 'throttleOption').text = data.get('option')
XML.SubElement(throttle, 'configVersion').text = '1'
def inject(parser, xml_parent, data):
inject = XML.SubElement(xml_parent,
'EnvInjectJobProperty')
info = XML.SubElement(inject, 'info')
XML.SubElement(info, 'propertiesFilePath').text = str(
data.get('properties-file', ''))
XML.SubElement(info, 'propertiesContent').text = str(
data.get('properties-content', ''))
XML.SubElement(info, 'scriptFilePath').text = str(
data.get('script-file', ''))
XML.SubElement(info, 'scriptContent').text = str(
data.get('script-content', ''))
XML.SubElement(info, 'groovyScriptContent').text = str(
data.get('groovy-content', ''))
XML.SubElement(info, 'loadFilesFromMaster').text = str(
data.get('load-from-master', 'false')).lower()
XML.SubElement(inject, 'on').text = str(
data.get('enabled', 'true')).lower()
XML.SubElement(inject, 'keepJenkinsSystemVariables').text = str(
data.get('keep-system-variables', 'true')).lower()
XML.SubElement(inject, 'keepBuildVariables').text = str(
data.get('keep-build-variables', 'true')).lower()
def authenticated_build(parser, xml_parent, data):
# TODO: generalize this

View File

@ -38,6 +38,7 @@ setup(name='jenkins_job_builder',
'jenkins_jobs.properties': [
'github=jenkins_jobs.modules.properties:github',
'throttle=jenkins_jobs.modules.properties:throttle',
'inject=jenkins_jobs.modules.properties:inject',
'authenticated-build=jenkins_jobs.modules.properties:'
'authenticated_build',
],