如何在不复制整个管道的情况下将参数从一个管道复制到另一个管道?

How to copy parameters from one pipeline to another without copying entire pipeline?

在我们的团队中,只有少数人拥有 Jenkins 访问权限来执行管理操作,因为它是开发人员不断用于构建的生产 Jenkins 服务器。

有时我必须增强任何管道或修复管道问题。因为该管理员为我创建了一个管道,所以我可以在那里添加代码并对其进行测试。我想只使用那个管道来测试任何东西。

但是我测试了不同的管道,每个管道都有不同的参数列表。在这种情况下,我必须一个接一个地添加参数并复制该参数的所有详细信息,例如 Groovy 脚本、默认值等,这会花费很多时间。

有没有way/plugin我们可以简单地将参数从一个管道复制到另一个管道的way/plugin?

我想你应该知道每个作业都有一个 config.xml 代表作业配置。您可以通过 <job_url>/config.xml.

获取
  1. 获取要调试的作业的 config.xml,然后从 config.xml

    中提取作业参数的 xml 块
  2. 准备一个空结构config.xml,将作业参数的xml块注入空config.xml

  3. 将 Jenkins Rest API 调用到 update/save 并将 config.xml 调用到您的调试作业,然后您的调试作业具有目标作业的参数。

您可以编写脚本来实现以上3个步骤。