【发布时间】:2020-10-01 07:30:52
【问题描述】:
我最近将我的声明式管道重构为脚本形式。即使一切看起来都很好,我在初始化多值参数时遇到了问题。
在我的声明式管道中,我使用了以下多值参数的定义(按应有的方式工作):
parameters {
choice(choices: ['fix', 'major', 'minor', 'none'], description: "Increase version's number: MAJOR.MINOR.FIX", name: "VERSIONING")
}
我将它重构为脚本化管道的这种形式:
properties([
parameters([
choice(choices: ['fix\nmajor\nminor\nnone'], description: "Increase version's number: MAJOR.MINOR.FIX", name: "VERSIONING"),
]),
])
问题是,当我意识到某些事情没有按应有的方式工作,并使用 sh """echo "Versioning parameter check:" ${params.VERSIONING}""" 步骤打印变量值时,我从 Jenkins 的控制台得到了这个:
版本参数检查:false
既不是列表中的值,又是不同类型的值(布尔值而不是字符串)。
有没有办法在 Jenkins 脚本化管道中实现多值参数初始化? 为什么该指令在脚本化管道中不能开箱即用,而在声明性类型中却可以? 这是一个错误还是我做错了什么?
【问题讨论】:
标签: variables jenkins groovy jenkins-pipeline jenkins-plugins