Bitbucket云webhook不触发Jenkins构建:无分支信息

时间:2019-10-25 19:13:32

标签: jenkins bitbucket webhooks bitbucket-cloud

我正在尝试将Bitbucket云与Jenkins集成。我在Jenkins中安装了Bitbucket插件。我已使用网址http://<jenkins_url>/bitbucket-hook/

在Bitbucket云中为存储库配置了Webhook

我设置了詹金斯的工作(我尝试了管道和多分支管道)。在管道中,我选择了“将更改推送到BitBucket时进行构建”,在管道中,我具有从bitbucket提取并进行构建的阶段。我已经指定从分支开发中获取。

情况1::设置完成后,我将一些代码推送到了存储库中(分支开发)。我希望管道被触发(因为我有一个Webhook设置),所以什么都不会发生。
  我手动触发了构建。它建立了项目。现在,如果我将某些内容推送到存储库,则将触发构建。这里的问题是,为什么它不是第一次触发并且仅在手动构建后才起作用。

情况2:我设置了另一个管道。就像以前一样。但以分支机构为主。我尝试遵循相同的步骤(首先手动触发)。现在,当我推动掌握一些东西时。什么也没有发生(即使在手动构建之后)。

当我分析詹金斯日志时。我发现一旦推送某些内容,bitbucket云便会发出通知。但是发送的json没有分支信息。可能是因为当有多个管道与同一个存储库进行通信时,Jenkins无法决定触发哪个管道的原因。我的假设正确吗?这是Bitbucket云中的错误

从位桶云中接收到的json看起来像这样

{
   "scm": "git",
   "website": null,
   "name": "myproject-api",
   "links": {
      "self": {
         "href": "https://api.bitbucket.org/2.0/repositories/my-team/myproject-api"
      },
      "html": {
         "href": "https://bitbucket.org/my-team/myproject-api"
      },
      "avatar": {
         "href": "https://bytebucket.org/ravatar/%7Bb07e7384-c622-44b1-8c5f-96104d36cfae%7D?ts=java"
      }
   },
   "project": {
      "key": "PB",
      "type": "project",
      "uuid": "{d9c0caa2-7d43-4a0e-8459-2c7c8c2bd287}",
      "links": {
         "self": {
            "href": "https://api.bitbucket.org/2.0/teams/my-team/projects/PB"
         },
         "html": {
            "href": "https://bitbucket.org/account/user/my-team/projects/PB"
         },
         "avatar": {
            "href": "https://bitbucket.org/account/user/my-team/projects/PB/avatar/32"
         }
      },
      "name": "MyProject Backend"
   },
   "full_name": "my-team/myproject-api",
   "owner": {
      "username": "my-team",
      "display_name": "my-team",
      "type": "team",
      "uuid": "{848f7612-ffbc-4dfb-8f67-ade4b604761c}",
      "links": {
         "self": {
            "href": "https://api.bitbucket.org/2.0/teams/%7B848f7612-ffbc-4dfb-8f67-ade4b604761c%7D"
         },
         "html": {
            "href": "https://bitbucket.org/%7B848f7612-ffbc-4dfb-8f67-ade4b604761c%7D/"
         },
         "avatar": {
            "href": "https://bitbucket.org/account/my-team/avatar/"
         }
      }
   },
   "type": "repository",
   "is_private": true,
   "uuid": "{b07e7384-c622-44b1-8c5f-96104d36cfae}"
}

任何人都不知道如何成功地使Webhooks与Bitbucket Cloud和Jenkins一起工作。 SO上与此相关的大多数问题都在谈论Bitbucket服务器,而不是Bitbucket云。

1 个答案:

答案 0 :(得分:0)

我通过执行以下步骤解决了类似的问题:

  1. 卸载旧的“ Bitbucket”插件
  2. 删除了设置为:
    • http:// / bitbucket-hook /
  3. 安装“ Bitbucket分支源插件”
  4. 在bitbucket存储库中将新的Webhook设置为:
    • http:// / bitbucket-scmsource-hook / notify /

干杯!