Par exemple. Le code ci-dessous est utilisé pour une seule valeur de sélection
choice{
choices: 'Box\nOneDrive\nSharePointOnline\nGmail\nGDrive\nGenericS3',
defaultValue: 'box',
description: 'Connector to build',
name: 'On_Cloud_Devices_To_Test'
}
J'utiliserais booleanParam. L'utilisateur peut alors cocher toutes les options requises.
booleanParam(defaultValue: false, name: 'ALL', description: 'Process all'),
booleanParam(defaultValue: false, name: 'OPTION_1', description: 'Process option 1'),
booleanParam(defaultValue: false, name: 'OPTION_2', description: 'Process options 2'),
Vous pouvez utiliser le plugin "Extended Choice Parameter", comme cette page le suggère.
Sinse la liste des paramètres est très longue, vous pouvez l'envelopper dans une fonction:
import com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition
def checkBox (String name, String values, String defaultValue,
int visibleItemCnt=0, String description='', String delimiter=',') {
// default same as number of values
visibleItemCnt = visibleItemCnt ?: values.split(',').size()
return new ExtendedChoiceParameterDefinition(
name, //name,
"PT_CHECKBOX", //type
values, //value
"", //projectName
"", //propertyFile
"", //groovyScript
"", //groovyScriptFile
"", //bindings
"", //groovyClasspath
"", //propertyKey
defaultValue, //defaultValue
"", //defaultPropertyFile
"", //defaultGroovyScript
"", //defaultGroovyScriptFile
"", //defaultBindings
"", //defaultGroovyClasspath
"", //defaultPropertyKey
"", //descriptionPropertyValue
"", //descriptionPropertyFile
"", //descriptionGroovyScript
"", //descriptionGroovyScriptFile
"", //descriptionBindings
"", //descriptionGroovyClasspath
"", //descriptionPropertyKey
"", //javascriptFile
"", //javascript
false, //saveJSONParameterToFile
false, //quoteValue
visibleItemCnt, //visibleItemCount
description, //description
delimiter //multiSelectDelimiter
)
}
Ensuite, utilisez-le comme suit:
def testParam = checkBox("opt", // name
"opt1,opt2,opt3", // values
"opt1", //default value
0, //visible item cnt
"Multi-select", // description
)
properties(
[parameters([testParam])]
)
node {
echo "${params.opt}"
}
Jenkins Build avec paramètres:
Il s'agit d'ailleurs d'une syntaxe de pipeline scriptée.