繁体   English   中英

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

[英]Bitbucket cloud webhook Does not trigger Jenkins Build: No branch information

我正在尝试将 Bitbucket 云与 Jenkins 集成。 我在 Jenkins 中安装了 Bitbucket 插件。 我已经在 bitbucket 云中为存储库配置了 webhook,其中包含 url http://<jenkins_url>/bitbucket-hook/

我设置了 Jenkins 作业(我尝试了管道和多分支管道)。 在管道中,我选择了“将更改推送到 BitBucket 时构建”,并且在管道中,我有阶段可以从 bitbucket 获取并构建。 我已指定从分支开发中获取。

案例 1:设置完成后,我将一些代码推送到我的存储库(分支开发)。 我预计管道会被触发(因为我有一个 webhook 设置)没有任何反应。
我手动触发了构建。 它构建项目。 现在,如果我将某些内容推送到存储库,则会触发构建。 这里的问题是为什么它没有第一次触发并且仅在手动构建后才起作用。

案例2:我设置了另一个管道。 和之前的一模一样。 但是以分支为主。 我尝试遵循相同的步骤(首先手动触发)。 现在,当我推一些东西来掌握。 没有任何反应(即使在手动构建之后)。

当我分析 jenkins 日志时。 我看到,只要有东西被推送,就会有来自 bitbucket 云的通知。 但是发送的json没有分支信息。 可能这就是 Jenkins 在有多个管道与同一个存储库通信时无法决定触发哪个管道的原因。 我的假设正确吗? 它是 Bitbucket 云中的错误吗

从 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}"
}

有谁知道如何成功获得与 bitbucket 云和 Jenkins 一起使用的 webhook。 关于 SO 的大多数问题都是关于 Bitbucket 服务器而不是 Bitbucket 云。

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

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

干杯!!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM