В одном из моих конвейерных сценариев Jenkins есть следующие данные:
def IMAGE_TAG = input message: 'Please select a Version', ok: 'Next',
parameters: [choice(name: 'IMAGE_TAG', choices: imageTags, description: 'Available Versions')]
imageTags
- это список карт, например:
imageTags : [
[targetSuffix: "", sourceSuffix: "v2.17.1"],
]
Когда я запускаю скрипт, Я могу выбрать только [targetSuffix: "", sourceSuffix: "v2.17.1"]
из выпадающего списка, как и ожидалось.
В моем скрипте я также вижу выбранное значение:
echo "Selected Version = ${env.SELECTED_IMAGE_TAG}"
[Pipeline] echo Selected Version = {targetSuffix=, sourceSuffix=v2.17.1}
Теперь я хотел выяснить, какой элемент из исходного списка imageTags был выбран, но мой скрипт не работает должным образом:
def selectedImageTag = imageTags.find { it.targetSuffix == "${env.SELECTED_IMAGE_TAG.targetSuffix}" }
Я получаю следующее исключение:
groovy.lang.MissingPropertyException: No such property: targetSuffix for class: java.lang.String
Мой вопрос: Как я могу получить выбранный предмет по своему выбору из исходного списка карт?