如何有条件地隐藏参数?

时间:2019-02-08 21:20:31

标签: jenkins jenkins-pipeline jenkins-plugins

我正在尝试创建带有参数的詹金斯管道作业。我希望参数有条件地显示。条件取决于先前参数的选择。

我尝试了Active choices插件。它允许我有条件地选择参数的值。我希望整个参数有条件地出现在UI中。

詹金斯管道文件可能吗?

1 个答案:

答案 0 :(得分:0)

我认为这是不可能的。对于声明性/脚本化管道,参数是“后处理的”,实际上意味着您看到的是先前的“运行/构建”中所评估的。这就是为什么在“带参数的构建”可用之前需要进行构建的原因。

作为替代方案,(如果您使用的是脚本/声明性管道),则可以使用“输入”步骤并使其有条件地触发。

if ( x == true ) {
    def userInput = input(
       id: 'userInput', message: 'Let\'s promote?', parameters: [
       [$class: 'TextParameterDefinition', defaultValue: 'uat', description: 'Environment', name: 'env'],
       [$class: 'TextParameterDefinition', defaultValue: 'uat1', description: 'Target', name: 'target']
    ])
}

示例来自: https://support.cloudbees.com/hc/en-us/articles/204986450-Pipeline-How-to-manage-user-inputs