Skip to content

Instantly share code, notes, and snippets.

@tizki
Last active November 19, 2015 13:21
Show Gist options
  • Save tizki/7911cd3e3a42ab0e7f54 to your computer and use it in GitHub Desktop.
Save tizki/7911cd3e3a42ab0e7f54 to your computer and use it in GitHub Desktop.
Jenkins groovy script - adds parameters to a job
def jobName = 'MyJob'
def paramNamesAndValues = 'param1=value1&param2=value2&param3=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