我在phabricator有一个仓库,并在我当地的机器上克隆。
现在我想在Phabricator中创建一个新的repo后自动创建一个新的Jenkins作业。 Jenkins API可用于远程创建新作业。
詹金斯说:
要创建新作业,请使用查询参数name = JOBNAME将config.xml发布到此URL。您需要发送Content-Type:application / xml标题。
我可以使用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
文件以配置该新作业?
答案 0 :(得分:1)
Guy Warner(http://www.guywarner.com/)做了很多工作来展示这是可能的。您可以访问他的博客文章了解更多详情:http://www.guywarner.com/2014/05/integrating-jenkins-and-phabricator.html(第1部分)和http://www.guywarner.com/2014/06/part-2-integrating-phabricator-and.html(第2部分)。
基本思路是您的Harbormaster构建计划将向您的Jenkins实例发出HTTP请求。
我们使用他的教程来设置基于不同类型的更改从Phabricator触发的近100个构建。
答案 1 :(得分:0)
实际上,在Phabricator中创建新的回购后,没有设置或自动方式来创建Jenkins作业。
我已经解决了这个编辑Phabricator php代码的问题。简单的方法是在创建回购后从php代码调用Jenkins API。