Jenkins - 如何在声明性管道中指定 Active Choice Reactive 参数?

cyb*_*ast 3 groovy jenkins

我正在尝试实现一个 Jenkins 管道,借此我想控制 git 中管道代码的源代码。

要在声明性管道中声明我的参数,我必须遵守以下语法:-

...
pipeline {
    parameters {
        ...
    }
...
}
Run Code Online (Sandbox Code Playgroud)

对于参数部分,如何声明 Active Choice Reactive 参数,以便我可以使用 groovy 脚本以编程方式填充选项?

我知道使用 Jenkins UI 使用管道选项可以实现这一点Configure,但是我试图了解如何在 Groovy 代码中实现此行为。

谢谢

Dmi*_* G. 5

Jenkins 动态声明式管道参数

查看帖子 #5 中的解决方案,而不是已接受的解决方案。它总是运作良好。这是目前为脚本化管道构建的主动选择(AC)的唯一方法,而不是直接支持声明性管道。我在声明式管道中经常使用 AC,因此我自己的决定总是将所有以脚本方式编写的属性(参数)移至“管道”之前,甚至在共享库中使用它(作为 init 函数)或在需要时从光盘加载,所有其他管道都以声明方式编写,以获得两者的所有优点。

该技巧的另一个好处是我可以重用具有不同参数的管道,从而可以从 Git 或共享库动态加载它们。

发现 lifehack:要构建不同代码和 AC 类型的 Groovy 脚本,请转到管道语法构造函数,选择“输入”>“此构建已参数化”> 添加所需的 AC > 填写所有字段并根据需要选择选项(与作业中相同) UI) > 生成代码。之后只需复制“属性块”或部分 AC 代码并将其放在“管道”之前的 Jenkinsfile 中。