在 Phabricator 中创建 repo 时自动在 Jenkins 中创建一个作业
Create a job in Jenkins automatically when a repo is created in Phabricator
我在 phabricator 中有一个存储库并克隆到我的本地机器中。
现在我想在 Phabricator 中创建一个新的 repo 后自动创建一个新的 Jenkins 作业。 Jenkins API 可以远程创建新作业。
根据詹金斯的说法:
To create a new job, post config.xml to this URL with query parameter name=JOBNAME. You need to send a Content-Type: application/xml header.
我可以使用 terminal
.
通过以下命令创建作业
curl -X POST -H "Content-Type:application/xml" -d "<project><builders/><publishers/><buildWrappers/></project>" "http://ip:port/createItem?name=AA_TEST_JOB1"
问题:我如何运行 Harbormaster 命令创建一个 Jenkins 作业并发送 config.xml
文件来配置该新作业?
盖·华纳(http://www.guywarner.com/) has done a lot of work to show how this is possible. You can visit his blog post for more details: http://www.guywarner.com/2014/05/integrating-jenkins-and-phabricator.html (part 1) and http://www.guywarner.com/2014/06/part-2-integrating-phabricator-and.html(第 2 部分)。
基本思路是您的 Harbormaster 构建计划将向您的 Jenkins 实例发出 HTTP 请求。
我们使用他的教程设置了近 100 个构建,这些构建基于不同类型的更改从 Phabricator 触发。
实际上,在 Phabricator 中创建新存储库后,没有设置或自动创建 Jenkins 作业的方法。
我已经解决了编辑 Phabricator php 代码的问题。简单的方法是在创建 repo 后从 php 代码调用 Jenkins API。
我在 phabricator 中有一个存储库并克隆到我的本地机器中。
现在我想在 Phabricator 中创建一个新的 repo 后自动创建一个新的 Jenkins 作业。 Jenkins API 可以远程创建新作业。
根据詹金斯的说法:
To create a new job, post config.xml to this URL with query parameter name=JOBNAME. You need to send a Content-Type: application/xml header.
我可以使用 terminal
.
curl -X POST -H "Content-Type:application/xml" -d "<project><builders/><publishers/><buildWrappers/></project>" "http://ip:port/createItem?name=AA_TEST_JOB1"
问题:我如何运行 Harbormaster 命令创建一个 Jenkins 作业并发送 config.xml
文件来配置该新作业?
盖·华纳(http://www.guywarner.com/) has done a lot of work to show how this is possible. You can visit his blog post for more details: http://www.guywarner.com/2014/05/integrating-jenkins-and-phabricator.html (part 1) and http://www.guywarner.com/2014/06/part-2-integrating-phabricator-and.html(第 2 部分)。
基本思路是您的 Harbormaster 构建计划将向您的 Jenkins 实例发出 HTTP 请求。
我们使用他的教程设置了近 100 个构建,这些构建基于不同类型的更改从 Phabricator 触发。
实际上,在 Phabricator 中创建新存储库后,没有设置或自动创建 Jenkins 作业的方法。
我已经解决了编辑 Phabricator php 代码的问题。简单的方法是在创建 repo 后从 php 代码调用 Jenkins API。