我的工作是运行 Jenkins 和 Bitbucket Server(所以他们托管自己的 bitbucket 版本,而不是 bitbucket 云)。我习惯于在 github 和 bitbucket 云上通过/失败构建立即报告 PR 和分支,以了解构建是通过还是失败。我想在当前环境下将这份礼物送给我的团队。如何在 Bitbucket 服务器中获取 PR 以接收来自 Jenkins 的构建成功/失败?
[图 1 仅显示了我想要的功能示例,可在 github+codeship 中的 PR 上运行]
我的工作是运行 Jenkins 和 Bitbucket Server(所以他们托管自己的 bitbucket 版本,而不是 bitbucket 云)。我习惯于在 github 和 bitbucket 云上通过/失败构建立即报告 PR 和分支,以了解构建是通过还是失败。我想在当前环境下将这份礼物送给我的团队。如何在 Bitbucket 服务器中获取 PR 以接收来自 Jenkins 的构建成功/失败?
[图 1 仅显示了我想要的功能示例,可在 github+codeship 中的 PR 上运行]
虽然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.
bitbucket 服务器有build-status API。它存储特定提交的构建状态,没有单独的 PR 构建状态。PR构建状态是该PR中的head commit的构建状态。
您可以自己实现 rest api 调用以更新构建状态或使用现有插件之一。我们将Bitbucket bitbucket 插件的Post Webhooks与Bitbucket Branch Source jenkins 插件结合使用。
您可以设置Stash 通知器插件,它与 BitBucket 完美配合,并将构建状态通知到分支和拉取请求