Bitbucket API 用于更新拉取请求的构建状态

Bitbucket API for updating the build status for a pull request

我看到了更新提交构建状态的文档: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build

对于拉取请求,是否没有与之关联的唯一提交?没有 API 用于更新 PR 的构建状态吗?或者我们只需要发现哪个提交与 PR 关联,然后只更新该提交的构建状态?

例如这个视图:

您可以在右侧看到对临时分支的提交具有通过的构建状态 - 但它的工作方式是它应该将 temp 合并到 master 到一些新的 commit/branch 我需要能够测试它。

我要更新的视图位于 url:

https://bitbucket.org/<user>/<repo>/pull-requests/1/<commit-message>/diff

只需转到此 url 并输入 "build" 即可找到相关路线:

Bitbucket 没有基于 PR 的构建(检查 here),您需要的是在 LAST 提交上成功构建:

然后,您可以使用 API 在您完成需要测试的内容后将构建推送到那个版本。

本指南使用起来非常简单: https://developer.atlassian.com/server/bitbucket/how-tos/updating-build-status-for-commits/

我对指南的唯一建议是它对我来说对 curl 不起作用,然后,我所做的就是用 Postman 完成它,然后将命令导出到 curl,就是这样......

curl --location --request POST 'https://bitbucket.org/api/2.0/repositories/{your space}/{Your Repo}/commit/{The long hash of your commit}/statuses/build?Content-Type=application/json' \
--header 'Authorization: Basic {your token}=' \
--header 'Content-Type: application/json' \
--data-raw '{
    "state": "SUCCESSFUL",
    "key": "MANUAL-BUILD",
    "name": "Manual Build",
    "url": "http://this.really.doesnt.matter/",
    "description": "Successful Build done manually"
}'