Jenkins 如何有条件地隐藏参数?

Jenkins 如何有条件地隐藏参数?,jenkins,jenkins-pipeline,jenkins-plugins,Jenkins,Jenkins Pipeline,Jenkins Plugins,我正在尝试使用参数创建jenkins管道作业。我希望参数有条件地显示。该条件取决于先前参数的选择 我已经尝试了Active choices插件。它允许我有条件地选择参数的值。我希望整个参数有条件地出现在UI中 if ( x == true ) { def userInput = input( id: 'userInput', message: 'Let\'s promote?', parameters: [ [$class: 'TextParameterDef

我正在尝试使用参数创建jenkins管道作业。我希望参数有条件地显示。该条件取决于先前参数的选择

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

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']
    ])
}

jenkins管道文件可能吗?

我认为这是不可能的。在声明性/脚本化管道的情况下,参数是“后处理”的,这意味着您看到的基本上是在前面的“运行/构建”中评估的参数。这就是为什么在“带参数的生成”可用之前需要生成

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

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']
    ])
}
示例来自:

它能帮我解决这个问题吗:@arielma我不相信你想要的是可能的,Jenkins参数是后处理的。这意味着您基本上可以看到上一次构建中评估的参数。如果构建没有实际运行,就没有执行过程来评估任何东西。jenkins blue ocean是否有任何选项动态隐藏参数我不知道抱歉