This Jenkinsfile has a traceback when it tries 'needsBuild.add(myexit)node {label 'master'def needsBuild = []myexit = 0myscript = """echo "Desired exit $myexit"exit $myexit"""stage("Status $myexit") {status = sh script: myscript, returnStatus: trueif (status) {echo "Changes needed"needsBuild.add(myexit)}}myexit = 1myscript = """echo "Desired exit $myexit"exit $myexit"""stage("Status $myexit") {status = sh script: myscript, returnStatus: trueif (status) {echo "Changes needed"needsBuild.add(myexit)}}}
def createStage(mystatus) {
def myexit = mystatus
def myscript = """
echo "Desired exit $myexit"
exit $myexit
"""
return {
stage("job $myexit") {
status = sh script: myscript, returnStatus: true
if (status) {
echo "Changes needed"
needsBuild.add(myexit)
}
}
}
}
node {
label 'master'
def needsBuild = []
def stages = [:]
for (index in [0, 1]) {
stages["Exit value $index"] = createStage(index)
}
parallel stages
}
Any suggestions or guidance on what I am missing would be appreciated.+ exit 1 [Pipeline] echo Changes needed [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline groovy.lang.MissingPropertyException: No such property: needsBuild for class: groovy.lang.Binding at groovy.lang.Binding.getVariable(Binding.java:63) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:271)