我正在尝试将 Bitbucket 云与 Jenkins 集成。我在 Jenkins 中安装了 Bitbucket 插件。我已经在 bitbucket 云中为带有 url 的存储库配置了 webhookhttp://<jenkins_url>/bitbucket-hook/
我设置了 Jenkins 工作(我尝试了管道和多分支管道)。在管道中,我选择了“将更改推送到 BitBucket 时构建”,并且在管道中,我有阶段可以从 bitbucket 中获取并构建。我已指定从分支开发中获取。
案例 1:设置完成后,我将一些代码推送到我的存储库(分支开发)。我预计管道会被触发(因为我有一个 webhook 设置)没有任何反应。
我手动触发了构建。它构建项目。现在,如果我将某些内容推送到存储库,则会触发构建。这里的问题是为什么它没有第一次触发并且仅在手动构建后才起作用。
案例2:我设置了另一个管道。和之前的一模一样。但是以分支为主。我尝试遵循相同的步骤(首先手动触发)。现在,当我推一些东西来掌握。没有任何反应(即使在手动构建之后)。
当我分析詹金斯日志时。我看到一旦推送某些内容,就会有来自 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}"
}
有谁知道如何成功地让 webhook 与 bitbucket cloud 和 Jenkins 一起工作。关于这个的大多数问题都是关于 Bitbucket 服务器而不是 Bitbucket 云。