我正在创建一个 jenkins/groovy 设置来创建一个仪表板(使用参数构建 - 在 Jenkins 中)供用户输入值。 太胖了,我很擅长这些设置。我使用的脚本是:
parameters([
choice(name: "Environment",
choices: ['Dev', 'QA', 'PRD'],
description: 'Select Env', required: true),
choice(name: 'Select Type',
choices: ['EC2', 'EKS', 'ECS'],
description: 'Select type'),
choice(name: 'permission',
choices: ['user', 'service account', 'policy'],
description: 'Select permission'),
string(name: "TeamDL",
description: 'Provide Team Name', required: true),
string(name: "ProductType",
description: 'Enter the product name', required: true),
string(name: 'TeamWork',
description: 'Provide team DL', required: true),
])
在上面的脚本中,我试图为“选择类型”提供多选选项,例如用户应该能够从列表中选择 EC2 & EKS & ECS(全部三个)或仅两个选项。 所以我尝试用'booleanparam'替换'choice'(通过在线研究发现)并用booleanparam替换它使选项完全消失。
不知道我怎么能在这里实现这个选项伙计们..
关于如何在这里结束我的仪表板的任何提示,感谢您的帮助。
干杯!
Jenkins 仪表板中的多选选项(使用参数构建)
您混合使用声明式和脚本化管道语法来定义参数。
choice()
只支持单选
parameters([
# It's scripted style to define parameters
])
parameters {
# it's declarative style to define parameters
}
如果你的 Jenkins 支持
extendedChoice
参数类型并且你的 Jenksinfile 使用声明式风格,你的案例可以按如下方式完成:
parameters {
choice(name: "Environment",
choices: ['Dev', 'QA', 'PRD'],
description: 'Select Env', required: true)
extendedChoice(name: 'Type', type: 'PT_CHECKBOX', value: 'EC2,EKS,ECS',
multiSelectDelimiter: ',', quoteValue: true,
description: 'Select type')
choice(name: 'permission',
choices: ['user', 'service account', 'policy']
description: 'Select permission'),
string(name: "TeamDL",
description: 'Provide Team Name', required: true)
string(name: "ProductType",
description: 'Enter the product name', required: true)
string(name: 'TeamWork',
description: 'Provide team DL', required: true)
}