如何在詹金斯中获取管道作业的 URL

Posted

技术标签:

【中文标题】如何在詹金斯中获取管道作业的 URL【英文标题】:How to get URL of pipeline job in jenkins 【发布时间】:2014-07-10 01:30:46 【问题描述】:

我们正在使用构建管道插件在 Jenkins 中设置持续交付管道。

我们的部署步骤使用专有的部署工具(由来自 jenkins 的 HTTP 请求触发),但我们需要额外的 Jenkins 步骤来对随后部署的项目进行验收测试。所以我们的部署工具需要触发最后一个管道步骤。

jenkins 的设置很明显:

对于手动触发的下游构建步骤:添加构建步骤 这将等待手动触发:

选中构建管道插件,手动执行下游项目复选框 在下游输入下游项目的名称 项目名称字段。 (n.b. 可以使用逗号指定多个项目,例如“abc, def”。)

来源:Build Pipeline Plugin

问题是:我似乎找不到通过 URL 触发此下游构建的方法。

事实上,我需要部署作业中的 URL,所以我可以将它作为回调 URL 发送到部署工具。有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

如果我理解正确,您想使用远程访问 API,据我所知,这与一般项目或管道之一没有什么不同。 看这里:

https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

提交作业 无参数作业 您只需在 JENKINS_URL/job/JOBNAME/build?token=TOKEN 上执行 HTTP POST,其中 TOKEN 在作业配置中设置。

【讨论】:

【参考方案2】:

正如@rafal S 所说的那样 读取具有列表项目名称的文件,必须为其触发构建作业 在 for 循环中的 JENKINS_URL/job/$JOBNAME from the file/build?token=TOKEN 上执行 curl HTTP POST,其中 for 循环具有列表您读取的文件中的所有项目名称

【讨论】:

以上是关于如何在詹金斯中获取管道作业的 URL的主要内容,如果未能解决你的问题,请参考以下文章

如何在詹金斯作业中实时显示在远程服务器上运行的日志

如何在另一个詹金斯管道B中调用詹金斯管道A

如何从詹金斯管道中选择声纳质量门?

詹金斯管道中的文件存在不适用于 $variant

无法从詹金斯管道中的 GitHub Web 挂钩触发器获取有效负载

在詹金斯管道中复制工件