14

我的工作是运行 Jenkins 和 Bitbucket Server(所以他们托管自己的 bitbucket 版本,而不是 bitbucket 云)。我习惯于在 github 和 bitbucket 云上通过/失败构建立即报告 PR 和分支,以了解构建是通过还是失败。我想在当前环境下将这份礼物送给我的团队。如何在 Bitbucket 服务器中获取 PR 以接收来自 Jenkins 的构建成功/失败?


[图 1 仅显示了我想要的功能示例,可在 github+codeship 中的 PR 上运行]


在 github 和 codeship 上构建成功和失败的 PR

4

4 回答 4

4

虽然Webhook to Jenkins for Bitbucket可以帮助通知 Jenkins 在有提交时进行轮询,但您仍然需要注意Bitbucket 中的“延迟引用更新”在此线程中描述)

pull-request/*/changes在调用 Jenkins /git/notifyCommiturl之前,我们必须实现一些可以访问 REST API 的东西。

最后一个 Jenkins URL/git/notifyCommit来自Jenkins Git 插件

在“为 Bitbucket 配置 Webhook 到 Jenkins ”中查看更多信息。

正确调用 Jenkins 后,您可以如“将构建状态从 Jenkins 通知到 Bitbucket 服务器中所述,使用来自nemccarthy/stash-pullrequest-builder-plugin.

http://blog.nemccarthy.me/wp-content/uploads/2015/03/Screen-Shot-2015-03-23-at-11.08.56-am.png

于 2018-03-24T19:29:45.737 回答
2

bitbucket 服务器有build-status API。它存储特定提交的构建状态,没有单独的 PR 构建状态。PR构建状态是该PR中的head commit的构建状态。

您可以自己实现 rest api 调用以更新构建状态或使用现有插件之一。我们将Bitbucket bitbucket 插件的Post Webhooks与Bitbucket Branch Source jenkins 插件结合使用。

于 2018-03-26T18:53:53.043 回答
2

您可以使用 BitBucket REST API 来实现这一点吗?

这里是如何使用构建状态更新提交: 更新提交的构建状态

然后提交状态显示在拉取请求和分支上

于 2018-03-27T14:45:13.127 回答
1

您可以设置Stash 通知器插件,它与 BitBucket 完美配合,并将构建状态通知到分支和拉取请求

于 2018-03-26T19:33:45.400 回答