jenkins - 如何在不复制整个管道的情况下将参数从一个管道复制到另一个管道?
问题描述
在我们的团队中,只有少数人拥有 Jenkins 访问权限来执行管理操作,因为它是生产 Jenkins 服务器,开发人员不断使用它进行构建。
有时我必须增强任何管道或修复管道问题。因为那个管理员为我创建了一个管道,所以我可以在那里添加代码并对其进行测试。我想只使用那个管道来测试任何东西。
但是我测试了不同的管道,每个管道都有不同的参数列表。在这种情况下,我必须一一添加参数并复制该参数的所有详细信息,例如 Groovy 脚本、默认值等,这需要花费大量时间。
有什么方法/插件可以让我们简单地将参数从一个管道复制到另一个管道?
解决方案
我认为您应该知道每个作业都有一个 config.xml 代表作业配置。你可以得到它<job_url>/config.xml
。
获取要调试的作业的 config.xml,然后从 config.xml 中提取作业参数的 xml 块
准备一个空结构config.xml,将作业参数的xml块注入到空的config.xml中
调用 Jenkins Rest API 将 config.xml 更新/保存到您的调试作业,然后您的调试作业具有目标作业的参数。
您可以编写一个脚本来实现上述 3 个步骤。
推荐阅读
- php - For [PHP] 中的数组合并
- php - SQLSTATE 错误 23000 完整性和数据库冲突,更新或添加外键时出错
- matlab - Matlab角度函数来计算相位
- spring - 为什么 Spring Boot 失去了它的 Handler Mapping?
- javascript - 如何断言传递给类构造函数的函数是通过引用传递的,并且在使用组合时不重复?
- java - CDI 事件 fire() 创建新的观察者实例
- html - 将此渐变图像转换为 CSS 渐变
- android-studio - Kotlin 中的 Android:Google codelabs 项目中的数据绑定错误
- java - 如何在 Android Studio 中显示二维 Tiles 数组?
- python - Pandas Dataframe 的 Bigram Finder