我有一个带WebHook的BitBucket Cloud存储库,可在拉取请求上触发Codefresh构建。我希望构建结果在PR上显示为注释,类似于Travis集成在GitHub上的工作方式。 Codefresh的文档似乎建议您在与GitHub设置集成时自动发生这种情况。

我找不到带自动注释的BitBucket存储库示例。是否受支持?

评论

可能无关紧要,也可能不存在,但是您使用的是Bitbucket Cloud还是Bitbucket服务器?

@KevinBurnett Bitbucket Cloud

#1 楼

可以按以下方式更新bitbucket中的构建状态:


将构建结果添加到提交中

要将构建结果与特定提交相关联,您需要将JSON对象发布到构建状态REST资源的位置:

https://<bitbucket-base-url>/rest/build-status/1.0/commits/<commit-hash>

应该用作请求正文的JSON对象的格式
是:

{
    "state": "<INPROGRESS|SUCCESSFUL|FAILED>",
    "key": "<build-key>",
    "name": "<build-name>",
    "url": "<build-url>",
    "description": "<build-description>"
}



在构建结束时,可以使用脚本向bitbucket通知有关其构建状态的脚本,通过codefresh运行这样的代码段。


一个绿色构建

以下curl命令将构建添加到提交
9e72f04322c4a1f240e0b3158c67c3c19cdd16e7:

curl -u username:password -H "Content-Type: application/json" -X POST
http://localhost:7990/bitbucket/rest/build-status/1.0/commits/9e72f04322c4a1f240e0b3158c67c3c19cdd16e7
-d @build0.json


build0.json包含:

{
    "state": "SUCCESSFUL",
    "key": "REPO-MASTER",
    "name": "REPO-MASTER-42",
    "url": "https://bamboo.example.com/browse/REPO-MASTER-42",
    "description": "Changes by John Doe"
}