Ich habe eine global function wie folgt aus:Wie eine Karte an eine Jenkins Pipeline globale Funktion übergeben?
def myStep(Closure body) {
def config = [:]
body.resolveStrategy = Closure.DELEGATE_FIRST
body.delegate = config
body()
echo config.name // works
echo config.configure // is null
}
die wie folgt aufgerufen:
myStep {
name = 'linux-build'
configure = [os: 'linux', dir: 'build']
echo "myStep"
}
Normale Variablen (name
) arbeiten, aber die übergebene Karte (configure
) nicht. Vielleicht ist das wegen def config = [:]
? Wie kann ich auf die Karte innerhalb der Funktion zugreifen?