Multibranch管道作业未显示打开拉取请求

时间:2017-04-27 08:48:22

标签: github jenkins jenkins-pipeline jenkins-blueocean

我已经在Jenkins中配置了一个多分支管道作业链接到我们的GitHub仓库,它很好地工作,将检查状态反馈给我们的GitHub中的pull请求,这样我们就知道分支是否适合合并。

我没有看到任何针对詹金斯的工作列出的公开拉取请求:

enter image description here

我们还安装了Blue Ocean插件,并且没有显示PR。

任何人都知道为什么会这样吗?我错过了另一个插件\ config吗?

4 个答案:

答案 0 :(得分:10)

我也有这个问题。我试过了乔伊的建议,但那没用。我发现,如果您将PR-.+(或PR-*作为通配符)添加到正则表达式过滤器以包含分支,则会显示“神奇地”拉取请求。找到了here的文档。令人非常沮丧的是,这个插件的“官方”文档没有解释这一点(至少从我能找到的稀疏文档)。我的项目的配置有效,在这里: Picture.Jenkins.MultiBranch.Pipeline.PullRequests.addTo.Github.FilterDiscover.And.BlueOcean.png

我不确定这个用例是否推荐使用此插件,但Jenkins似乎没有足够的文档。

答案 1 :(得分:2)

我遇到了同样的问题。但是这次在Blue Ocean UI中如下所示

enter image description here

修复是在作业级别从使用Git切换到GitHub Branch Source并配置GitHub Branch Source。作业类型是Multibranch管道。

答案 2 :(得分:0)

对于bitbucket,我认为bitbucket分支源插件会提取请求,但对于github,您需要安装https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin

答案 3 :(得分:0)

一个可能的原因可能是由于防火墙导致GitHub无法直接连接到Jenkins。如果GitHub从不将状态检查报告为已完成,即永久挂起,则可能是这种情况。

在这种情况下,轮询是一个简单的解决方案。转到http://_jenkins_ip_:8080/job/_job_name_/configure并选择“扫描存储库触发器”选项卡。选中“如果没有其他方法,则定期运行”复选框,然后选择一个间隔。我有15分钟的时间。

第一次执行此操作时,应立即进行扫描,并应检测到拉取请求,否则,可能还会发生其他情况。检查该作业上的“扫描存储库日志”页面,因为它可能包含有用的信息。

顺便说一句,我没有安装“ GitHub Pull Request Builder插件”,因为页面显示它存在安全问题。而是使用了“ GitHub Branch Source插件”。安装了其他一些相关插件:

Git client plugin
Git plugin
GitHub API Plugin
GitHub Authentication plugin
GitHub Integration Plugin
GitHub plugin

我也在使用Blue Ocean,但这不是必需的,它只是提供了一个不同的UI。