При работе с параметром Active Choice CheckBox, значения параметра записываются в переменную, через запятую. Для работы с ними как отдельными элементами, нужно их сохранить в массив. К примеру есть следующий Active Choice, который выдает список окружений в виде CheckBox'а
Pipeline:
properties([ parameters([ [$class: 'CascadeChoiceParameter', choiceType: 'PT_CHECKBOX', description: 'Select Environment', filterLength: 1, filterable: false, name: 'Environment', script: [ $class: 'GroovyScript', script: [ classpath: [], sandbox: false, script: 'return[\'Development\',\'QA\',\'Staging\',\'Production\']' ] ] ] ]) ])
Выглядит это следующим образом:
Выберем два окружения, "Development" и "QA"
Значение переменной "Environment" будет следующее: "Development,QA". Сохраним эти значения в массив, для дальнейшей работы с ним.
String[] Env_Array = "${params.Environment}".split(',');
Полностью Pipeline будет иметь следующий вид
Pipeline:
properties([ parameters([ [$class: 'CascadeChoiceParameter', choiceType: 'PT_CHECKBOX', description: 'Select Environment', filterLength: 1, filterable: false, name: 'Environment', script: [ $class: 'GroovyScript', script: [ classpath: [], sandbox: false, script: 'return[\'Development\',\'QA\',\'Staging\',\'Production\']' ] ] ] ]) ]) pipeline { agent any stages { stage('Check env') { steps { script { if ( env.Environment.isEmpty() ) { echo "Environment not specified." autoCancelled = true error('Aborting the build.') } else { echo "Environment total: ${env.Environment}" String[] Env_Array = "${params.Environment}".split(','); for (x in Env_Array) { echo "ENV: ${x}" } } } } } } }
Результат выполнения Jenkins задачи: