2013-11-22 93 views
7

我已经配置了Jenkins Github Pull-Request生成器插件来构建我的机构成员提出的每个拉请求。它像一个魅力。Jenkins github拉请求生成器插件没有发布到github

然而,构建没有报告生成的状态返回到github上喜欢它显示了在这个漂亮的post。我也尝试选中“更新提交状态失败时使用注释来报告结果”框,但我仍然没有在github上获得任何回报。

我在GitHub上创建了一个bot用户,并给它推送和管理权限回购。

我詹金斯服务器位于防火墙后面,但因为它通常是构建和检测的变化(通过轮询)到GitHub库,我想这是不是问题。

其他人有这个问题吗?你是如何解决它的?

这里是(压缩的可读性)

Started by an SCM change 
Building in workspace 
Fetching changes from the remote Git repository 
Fetching upstream changes from repo 
Seen branch in repository origin/HEAD 
Seen branch in repository origin/master 
Seen branch in repository origin/pr/1/head 
Seen branch in repository origin/pr/1/merge 
Seen branch in repository origin/pr/10/head 
[…] 
Seen branch in repository origin/pr/9/head 
Seen branch in repository origin/pr/9/merge 
Seen 33 remote branches 
Checking out Revision 9b4d45ee3a2d265a1268c2931e7b2bcb738e1c87 (origin/pr/16/merge) 
First time build. Skipping changelog. 
...found 160 targets... 
...updating 21 targets... 
**passed** test/bin/test.test/gcc-4.8.1/debug/test.test 
[xUnit] [INFO] - Starting to record. 
[xUnit] [INFO] - Processing BoostTest-1.x (default) 
[xUnit] [INFO] - Check 'Failed Tests' threshold. 
[xUnit] [INFO] - Check 'Skipped Tests' threshold. 
[xUnit] [INFO] - Setting the build status to SUCCESS 
[xUnit] [INFO] - Stopping recording. 
Finished: SUCCESS 

回答

14

看着詹金斯登录后,我的控制台输出的转储我学到了一些东西:

  1. 这个插件(github上拉请求生成器)完全替代所有其他构建触发器(包括git和SCM轮询)。我正在使用所有三个,当我认为这个插件正在工作,因为它正在建设,实际上是其他触发器。
  2. 在GitHub的插件必须设置项目的GitHub网址。这个插件取决于github插件的工作。这是阻止它在我的配置中工作的原因。

修复#2后,您可以从SCM Poll和Git中删除触发器,以确保拉取请求插件正在触发构建。当它的时候,它实际上添加了一个到拉金请求链接到Jenkins的活动feed(非常好),并且正确地更新了github上的状态。

+0

我有同样的问题,但不知道你的意思是:“你必须在github插件上设置你的项目github URL。” - 在作业配置页面上?我在作业配置中都设置了github URL和存储库URL。 我也有GitHub pull请求生成器作为单个生成触发器,但仍然有同样的问题。 看着jenkins日志,我看到的问题是: 无法更新GitHub上合并请求的提交状态。 java.io.FileNotFoundException:https://api.github.com/repos/XXX/YYY/statuses/SHA –

+0

你的日志还有什么?我从来没有得到这个错误,但日志可能有助于确定你的情况有什么问题。这似乎是一个身份验证问题,可能是?修正了 – Carneiro

+0

问题。问题在于,在詹金斯设置中,我使用的是访问令牌,但访问令牌是为从存储库所有者中删除的用户生成的,因此不再有权回复。如果您遇到类似错误,请按照说明在此处创建访问令牌:https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin 注意:我必须重新启动Jenkins才能使用新的访问令牌 –