Jenkins 声明性管道:如何在名称中有空格时访问参数的值?

问题描述

我想仅在特定布尔参数为真时执行我的 Jenkins 管道的一个阶段。目前我在我的声明性 Jenkinsfile 中有这个:

booleanParam(
    defaultValue: false,name: 'forceGenerateNuGet'
)
...
when {
    expression { forceGenerateNuGet == "true" }
}

这很好用。但是由于名称显示在 UI 中,所以上面的内容很难看。

我想要这个(伪代码):

booleanParam(
    defaultValue: false,name: 'Force generate NuGet'
)
...
when {
    expression { getValueOfParam('Force generate NuGet') == "true" }
}

这可能吗?

编辑:Devops Stack Exchange 上的这篇文章说我应该能够使用 params['Force generate NuGet']

https://devops.stackexchange.com/questions/4711/in-jenkins-how-can-parameters-that-contain-spaces-be-referenced/4712?newreg=bc037a0b92d94b609be577272600c7fd

不过,这对我不起作用。我尝试应用它并在我设置参数的地方运行构建,但它没有获取值,因此跳过了它应该执行的步骤。 :(

如果我告诉它输出参数值,它只会告诉我它们是空的。

script {
    def force = params["Force generate NuGet"]
    echo "Force generate NuGet: ${force}"
}

输出:

[2021-02-09T15:13:37.571Z] Force generate NuGet: null

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)