Skip to content

Instantly share code, notes, and snippets.

@kh0ma
Created September 21, 2020 11:22
Show Gist options
  • Save kh0ma/340391cb58e18958d7e1997cac9de8f5 to your computer and use it in GitHub Desktop.
Save kh0ma/340391cb58e18958d7e1997cac9de8f5 to your computer and use it in GitHub Desktop.
Jenkins closure and parallel variable vision
def jobs = [
jobA: [
var1: 'var1 JobA'
],
jobB: [
var1: 'var1 JobB'
],
jobC: [
var1: 'var1 JobC'
],
]
def buildJobs = [:]
for (def jobKey : jobs.keySet()) {
def redefinedJobKey = jobKey
def redefinedValue = jobs[jobKey]
def redefinedVar1 = redefinedValue.var1
buildJobs[jobKey] = {
println "redefinedJobKey=${redefinedJobKey}, WRONG >>> jobKey=${jobKey}"
println "redefinedValue=${redefinedValue}, valueFromRedefinedKey=${jobs[redefinedJobKey]}"
println "redefinedValue=${redefinedValue}, WRONG >>> value=${jobs[jobKey]}"
println "redefinedVar1=${redefinedVar1}, redefinedValue.var1=${redefinedValue.var1}"
}
}
parallel(buildJobs)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment