Параметры динамического конвейера Дженкинса - PullRequest
0 голосов
/ 28 октября 2018

У меня есть конвейер jenkins, который дает пользователю список ключей от Consul, пользователь должен выбрать одну опцию (используя параметр активного выбора), мне нужен конвейер для динамического генерирования списка «субключей» (зависит отПервый выбор пользователя, например: ключ / путь / $ {user_choice}) и позволяет пользователю выбрать дополнительный ключ мой текущий код его:

def sout = new StringBuffer(), serr = new StringBuffer()
def proc = ['/bin/bash', '-c', 'consul kv get -keys --http-addr=X key/path/ | awk -F / \'{print $(NF-1)}\''].execute()
proc.consumeProcessOutput(sout, serr)
proc.waitFor()
return sout.tokenize()

До сих пор он работал нормально, но "активный выбор реактивенПараметр "не действует динамически и отказывается относиться к первому выбору пользователя.Я не нашел другого полезного плагина

Любая помощь?спасибо:)

1 Ответ

0 голосов
/ 28 октября 2018

Из того, что я знаю, у вас не может быть интерактивной командной строки в Jenkins.Однако вы можете использовать шаг input, чтобы получить обратную связь и использовать ее по всему конвейеру следующим образом:

def keys = sh(script: 'consul kv get -keys --http-addr=X key/path/ | awk -F / \'{print $(NF-1)}\'', returnStdout: true).trim().tokenize('\n')

def choice = input message: 'Please choose a sub-key', parameters: [choice(choices: keys, description: '', name: 'Subkeys')]

println "You chose $choice"
...