我的工作是运行Jenkins和Bitbucket Server(因此它们代替bitbucket云,它们拥有自己的bitbucket版本)。我习惯于在github和bitbucket云上有传递/失败的构建,立即报告PR和分支关于构建是通过还是失败。我想在当前的环境中将这份礼物送给我的团队。如何在Bitbucket服务器中获取PR以接收Jenkins构建的成功/失败?
[图1只显示了我想要的功能示例,可以在github + codeship中对PR进行操作]
答案 0 :(得分:4)
虽然Webhook to Jenkins for Bitbucket可以帮助通知Jenkins在提交时进行轮询,但仍需要注意“lazy ref updates” in Bitbucket(描述为in this thread)
在调用Jenkins
pull-request/*/changes
网址之前,我们必须实现一些可以访问/git/notifyCommit
的REST API的内容。
最后一个Jenkins网址/git/notifyCommit
来自Jenkins Git plugin。
点击“Configuring Webhook To Jenkins for Bitbucket”了解更多信息。
正确调用Jenkins后,您可以按照“Notify build status from Jenkins to Bitbucket Server”中的提及,使用Jenkins Stash Pullrequest Builder中的“nemccarthy/stash-pullrequest-builder-plugin
”。
答案 1 :(得分:2)
bitbucket服务器有build-status
API。它存储特定提交的构建状态,没有单独的PR构建状态。 PR构建状态是此PR中头部提交的构建状态。
您可以自己执行其余的api调用来更新构建状态或使用其中一个现有插件。我们将Post Webhooks for Bitbucket bitbucket插件与Bitbucket Branch Source jenkins插件结合使用。
答案 2 :(得分:2)
您可以使用BitBucket REST API来实现这一目标吗?
这里的更新方法提交了构建状态: Updating build status for commits
提交状态随后显示在Pull Request和分支
上答案 3 :(得分:1)
您可以设置Stash notifier plugin,它可以与BitBucket完美配合,并将构建状态通知为分支和提取请求