У меня есть простой заводной список в моем трубопроводе, который добавляет некоторые карты:Итерация заводной список в Дженкинс Pipeline DSL
def componentList = []
def componentMapEntry1 = [:]
componentMapEntry1['componentName']="Dashboard_Core"
componentList << componentMapEntry1
def componentMapEntry2 = [:]
componentMapEntry2['componentName']="Dashboard_Equities"
componentList << componentMapEntry2
def cme3 = [:]
cme3["componentName"] = "home"
componentList << cme3
Когда работа выполнена, я проверка размера
echo "size of list "+componentList.size()
...
[Pipeline] echo
size of list 3
Я могу распечатать список
println componentList
...
[Pipeline] echo
[{componentName=Dashboard_Core}, {componentName=Dashboard_Equities}, {componentName=home}]
я могу сделать для петли и перебирать список
for (i = 0; i <componentList.size(); i++) {
println componentList[i]
}
...
[Pipeline] echo
{componentName=Dashboard_Core}
[Pipeline] echo
{componentName=Dashboard_Equities}
[Pipeline] echo
{componentName=home}
До сих пор все хорошо.
Проблема возникает, когда я пытаюсь использовать стандартный заводной итератор:
componentList.each {
println "adding "+it.componentName
}
В этом случае я получаю только первый элемент
[Pipeline] echo
adding Dashboard_Core
Почему я получаю только первый элемент здесь? Я пробовал это несколько раз, и использование .each() похоже только возвращает первый элемент. Когда я запускаю тот же код в командной строке, он, естественно, iterates as groovy would expect. Является ли функция .each {} переписываться каким-то образом?
Я сомневаюсь, что ...: '[[имя_компьютера: Dashboard_Core], [имя_компьютера: Dashboard_Equities], [имя_компьютера: 'home']]. Each {println" добавление $ it.componentName "}' работайте, как ожидалось? Как насчет '['Dashboard_Core', 'Dashboard_Equities', 'home']. Collect {[имя_компьюта: it]} .each {println" добавление $ it.componentName "}'? –
Первый нет, он показывает только первый элемент, как мой. Вторая неудача в среде песочницы: org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: неклассифицированное поле java.util.LinkedHashMap $ Entry componentName – Neil
Сколько лет версии groovy на ваших серверах? Мои деньги на древнем ... –