【问题标题】:How can I get Jenkins builds to report failures back to Bitbucket server?如何让 Jenkins 构建将故障报告回 Bitbucket 服务器?
【发布时间】:2018-03-21 14:44:46
【问题描述】:

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


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


【问题讨论】:

  • 嗯,在 bitbucket 上启用 Bitbucket Server Webhook to Jenkins,在 jenkins 上创建作业,可能使用 Stash Pull Request Builder Plugin。我们公司为 jenkins & bitbucked 工作,实施起来没有什么困难。

标签: jenkins jenkins-plugins bitbucket-server bcbsn


【解决方案1】:

虽然Webhook to Jenkins for Bitbucket 可以帮助通知 Jenkins 在有提交时进行轮询,但您仍然需要注意“lazy ref updates” in Bitbucket(描述为in this thread)

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

最后一个 Jenkins URL /git/notifyCommit 来自 Jenkins Git plugin。

在“Configuring Webhook To Jenkins for Bitbucket”查看更多信息。

一旦正确调用 Jenkins,您就可以如“Notify build status from Jenkins to Bitbucket Server”中所述,使用来自nemccarthy/stash-pullrequest-builder-plugin 的“Jenkins Stash Pullrequest Builder”。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      这里是如何更新提交的构建状态: Updating build status for commits

      提交状态会显示在拉取请求和分支中

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-21
          • 2018-09-13
          相关资源
          最近更新 更多