首页 > 解决方案 > 如何在不复制整个管道的情况下将参数从一个管道复制到另一个管道?

问题描述

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

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

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

有什么方法/插件可以让我们简单地将参数从一个管道复制到另一个管道?

标签: jenkinsjenkins-pipelinejenkins-plugins

解决方案


我认为您应该知道每个作业都有一个 config.xml 代表作业配置。你可以得到它<job_url>/config.xml

  1. 获取要调试的作业的 config.xml,然后从 config.xml 中提取作业参数的 xml 块

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

  3. 调用 Jenkins Rest API 将 config.xml 更新/保存到您的调试作业,然后您的调试作业具有目标作业的参数。

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


推荐阅读