Родной язык Jenkins и его плагинов - Groovy. И это всегда ваш лучший выбор для общего программирования. Учитывая, что ваши штаты и города правильно отформатированы в формате JSON, вы можете использовать Groovy, json для его обработки. Вот пример кода:
import groovy.json.*
str="""
{
"country": {"name": "USA",
"states": [
{
"name": "NY",
"towns": [
"NYC",
"Rochester",
"Syracuse"
]
},
{
"name": "FL",
"towns": [
"Miami",
"Tampa",
"Jacksonville"
]
}
]
}
}
"""
jsonSlurper = new JsonSlurper()
gstr=jsonSlurper.parseText(str)
stateRow=[]
gstr.country.states.each{
it.towns.each{tn->
row =[]
row.add(gstr.country.name)
row.add(it.name)
row.add(tn)
stateRow.add(row.join(','))
}
}
stateRow.each{
println it
}
return stateRow
Этот код возвращает таблицу с названиями городов, являющимися последним столбцом
USA,NY,NYC
USA,NY,Rochester
USA,NY,Syracuse
USA,FL,Miami
USA,FL,Tampa
USA,FL,Jacksonville
Result: ['USA,NY,NYC', 'USA,NY,Rochester', 'USA,NY,Syracuse', 'USA,FL,Miami', 'USA,FL,Tampa', 'USA,FL,Jacksonville']