【问题标题】:Jenkins Pipeline Interdependent ParametersJenkins 流水线相互依赖的参数
【发布时间】:2017-09-08 18:19:16
【问题描述】:

我对 Jenkins Pipeline(和 Groovy)还很陌生,我想知道是否可以根据所选值以一种依赖于另一个的方式定义参数。例如,假设我有两个选择参数 A 和 B,并且我希望根据 A 的 [动态] 选择值填充 B 中的选择。这可能吗?像这样的:

pipeline {
    agent { label 'my-agent' }

    parameters {
        choice(name: 'DataCenter', choices:'Foo\nBar')
        choice(name: 'AvailabilityZone', choices: if(DataCenter.equals("Foo") {return 'A\nB'} else {return 'C\nD'}))
    }

    stages {
    ...
    }
}

显然这不起作用。有没有办法开箱即用地支持这个?否则有没有办法,比如说,将回调事件绑定到DataCenter 选择下拉菜单并手动更改AvailabilityZone 的值?

【问题讨论】:

    标签: jenkins groovy jenkins-pipeline


    【解决方案1】:

    我过去有同样的需求,并使用Active Choices Plugin 解决了它。

    不幸的是,这个插件是recently blacklisted,因为它的依赖项之一存在安全问题。

    如果安全不是主要问题,您仍然可以install the plugin manually

    【讨论】:

    • 此插件不支持 Jenkins Pipeline。
    • 它确实支持现在所谓的“脚本化”管道(这个插件在我的环境中适用于 4 个管道作业)。再次查看您的代码,我现在了解到您正在使用“声明性”管道,这可能不适用于此类插件。
    猜你喜欢
    • 2020-04-09
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多