E.g。下面的代码用于单选值
choice{
choices: 'Box\nOneDrive\nSharePointOnline\nGmail\nGDrive\nGenericS3',
defaultValue: 'box',
description: 'Connector to build',
name: 'On_Cloud_Devices_To_Test'
}
答案 0 :(得分:5)
我会使用booleanParam' s。然后,用户可以勾选所有必需的选项。
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'),
答案 1 :(得分:1)
您可以按照this page的建议使用“扩展选择参数”插件。
因为参数列表很长,您可以将其包装为一个函数:
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
)
}
然后按以下方式使用它:
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使用参数构建:
顺便说一下,这是脚本化管道语法。