Möglichkeit, mithilfe von Groovy in der Jenkins-Pipeline über eine Karte zu iterieren

Wir versuchen über ein @ zu iterierMap, aber ohne Erfolg. Wir haben unser Problem auf dieses minimale Beispiel reduziert:

def map = [
           'monday': 'mon',
           'tuesday': 'tue',
           ]

Wenn wir versuchen zu iterieren mit:

map.each{ k, v -> println "${k}:${v}" }

Nur der erste Eintrag wird ausgegeben:monday:mon

Die Alternativen, die wir kennen, können nicht einmal die Schleife betreten:

for (e in map)
{
    println "key = ${e.key}, value = ${e.value}"
}

ode

for (Map.Entry<String, String> e: map.entrySet())
{
    println "key = ${e.key}, value = ${e.value}"
}

Schlägt fehl, beide zeigen nur die Ausnahmejava.io.NotSerializableException: java.util.LinkedHashMap$Entry. (Dies könnte mit einer Ausnahme zusammenhängen, die beim Auslösen der "echten" Ausnahme auftritt und verhindert, dass wir wissen, was passiert ist.)

Wir verwenden die neuesten Stable Jenkins (2.19.1) mit allen Plugins, die ab heute (20.10.2016) auf dem neuesten Stand sind.

ibt es eine Lösung, um Elemente in einem @ zu durchlaufeMap innerhalb eines Jenkins-Pipeline-Groovy-Skripts?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage