假设我在 jenkins 工作。并尝试使用参数来构建它。 假设我有 2 个参数,即 para1 和 para2。
para1 是具有"is"和“否”值的选择类型参数
我希望仅当在 para1 中选择"is"时,para2 在用户界面中可用。否则我不希望这个参数本身显示在用户界面中
我们有以下插件
- https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin
- https://wiki.jenkins.io/display/JENKINS/Reactive+Reference+Dynamic+Parameter+Controls
但是这些将允许基于任何引用(即任何先前的参数值)动态返回参数值,
但不要在构建作业时禁用参数本身,就像用户在构建作业时不应在 UI 中看到参数名称本身一样,在我的情况下 para2 不应在以下情况下看到:在para1中选择“否”...
有什么建议或解决方法可以实现我的场景吗?
非常感谢
最佳答案
您想要实现的目标是不可能的。 Jenkins 作业是通过 XML 定义的,根据另一个参数的值显示新参数意味着应更改作业的 XML 定义并再次重新加载作业。 您可以做的就是在作业中显示这两个参数,然后在 Jenkins 管道中使用一个简单的 if 语句来忽略 para2,以防 para1 值为 no。
if (para1 == 'yes'){
print "Do something that takes into account ${para2}"
} else {
print "${para2} value is ignored"
}
关于 Jenkins : Dynamically make the parameter available in UI while building job,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48658495/