我正在尝试将Bitbucket云与Jenkins集成。我在Jenkins中安装了Bitbucket插件。我已使用网址http://<jenkins_url>/bitbucket-hook/
我设置了詹金斯的工作(我尝试了管道和多分支管道)。在管道中,我选择了“将更改推送到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云。
答案 0 :(得分:0)
我通过执行以下步骤解决了类似的问题:
干杯!