Last active
November 19, 2015 13:21
-
-
Save tizki/7911cd3e3a42ab0e7f54 to your computer and use it in GitHub Desktop.
Jenkins groovy script - adds parameters to a job
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def jobName = 'MyJob' | |
def paramNamesAndValues = 'param1=value1¶m2=value2¶m3=value3' | |
def j = Jenkins.getInstance() | |
def job = j.getItem(jobName) | |
def new_param = [] | |
def params | |
def getKeyValueMapFromData(data){ | |
def result = data.split('&').inject([:]) { | |
map, token -> | |
println("map: ${map}, token: ${token}") | |
token.split('=').with { | |
map[it[0]] = it[1] | |
} | |
map | |
} | |
return result | |
} | |
def paramValue = getKeyValueMapFromData(paramNamesAndValues) | |
println("INFO: Data map: ${paramValue}") | |
def prop = job.getProperty(ParametersDefinitionProperty.class) | |
if(prop != null) { | |
println("--- Parameters for " + job.name + " ---") | |
params = prop.getParameterDefinitions() | |
try { | |
paramValue.each{ key, value -> | |
new_param.add(new StringParameterDefinition(key, value)) | |
} | |
} | |
catch(Exception e) { | |
println(e) | |
println(param.name) | |
} | |
} | |
new_param.each{ p -> | |
println 'new param: '+ p +', name=' + p.name + ', value=' + p.getDefaultParameterValue() | |
} | |
params.addAll(new_param) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment