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

标签 jenkins groovy

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

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

...
pipeline {
    parameters {
        ...
    }
...
}

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

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

谢谢

最佳答案

Jenkins dynamic declarative pipeline parameters

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

这个技巧的额外好处是我可以重用具有不同参数的管道,这导致从 Git 或共享库中动态加载它们。

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

关于Jenkins - 如何在声明性管道中指定 Active Choice Reactive 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58439032/

相关文章:

jenkins - 是否可以在 Jenkins 上运行 Sonar 插件而无需任何构建过程?

mysql - Groovy Sql 与 mysql cli 比较日期时间差异

reflection - 在 Groovy 中使用 invokeMethod 动态实现接口(interface)

jenkins - 如何告诉 Jenkins 保留临时持久的 sh 任务?

java - 在 Jenkins 上通过 Java Web Start 启动从代理时出现问题

jenkins - 使用Jenkins将更改部署到Docker容器

linux - Linux上的Shell脚本运行java类

grails - 如何使用RestFul API在Grails中直接调用GSP

grails - Groovy元编程

java - 通过 Apache+PHP 等 Web 服务器运行 Groovy 的最简单方法是什么?