L'impossibilité d'effectuer une itération sur une Carte à l'aide de Groovy dans Jenkins Pipeline

Nous essayons de faire une itération sur un Map, mais sans succès. Nous avons réduit notre problème à ce minimum exemple:

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

Si nous essayons d'itérer avec:

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

Seule la première est sortie: monday:mon


Les alternatives que nous connaissons ne sont même pas capables d'entrer dans la boucle:

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

ou

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

Sont défaillants, les deux ne montrant l'exception java.io.NotSerializableException: java.util.LinkedHashMap$Entry. (qui pourrait être liée à une exception survenant tout en augmentant le "réel" d'exception, ce qui nous empêche de savoir ce qui s'est passé).

Nous sommes à l'aide de la dernière version stable jenkins (articles 2.19.1) avec tous les plugins à jour en date d'aujourd'hui (2016/10/20).

Est-il une solution pour itérer sur les éléments dans un Map dans un Jenkins pipeline Groovy script ?

InformationsquelleAutor Ad N | 2016-10-20