Динамический выбор параметров по Дженкинсу - PullRequest
3 голосов
/ 09 мая 2019

У меня есть задание на сборку / развертывание на jenkins, и пользователь может выбрать несколько элементов для развертывания с помощью параметра multi select.Я извлекаю эти значения динамически из таблицы базы данных с помощью скрипта groovy.

Проблема в том, что некоторые переменные должны быть связаны.Имея в виду;когда пользователь выбирает элемент X, элемент A и элемент B также должны быть выбраны.

Есть ли способ вызвать событие выбора на jenkins multi select?или я должен использовать что-то еще?

Спасибо.

1 Ответ

2 голосов
/ 13 мая 2019

Потратив некоторое время, я нашел способ сделать это с помощью Active Choices Plugin

1- Я сохранил свой начальный extended choice parameter, назовем его COMPONENTLIST

2- Затем я создал еще один параматер, как Active Choices Reactive Reference Parameter, назовем его COMPONENT_IDS

2a - я добавил COMPONENTLIST как referenced parameter в COMPONENT_IDS. И установите Choice Type как Formatted HTML, а также выберите Omit value field

2b - я использовал следующий скрипт groovy, чтобы собрать начальный выбор и внести в него изменения, и вернулся, как в шаге 2c

def output = COMPONENTLIST.split(',').collect{it as int}

2c - сложная часть здесь! Различно, как вы передаете параметр для создания этапа. Следующая строка помогла мне передать COMPONENT_IDS для сборки.

output = output.join(",") 
return "<b>${output}</b><input type=\"hidden\" name=\"value\" value=\"${output}\" />"
...