При работе с параметром 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 задачи: