【问题标题】:How to get build status of PR using BitBucket API?如何使用 BitBucket API 获取 PR 的构建状态?
【发布时间】:2019-09-17 15:46:35
【问题描述】:

使用 Bitbucket API 处理任何拉取请求时,未获取 PR 的构建作业详细信息/状态

这是我的 API 网址:

https://example.com/rest/api/1.0/projects/{projectkey}/repos/{reposlug}/pull-requests/{pullrequestID}

构建状态在 GUI 上的样子:

我也尝试了以下方法来获取构建状态但没有运气

/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/settings/pull-requests
/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/settings/hooks

所以我想知道任何 PR 的构建状态是成功还是失败

提前感谢您的回答。

【问题讨论】:

    标签: jenkins bitbucket github-api bitbucket-server bitbucket-api


    【解决方案1】:

    构建状态是提交,而不是 PR。首先,您应该通过调用/rest/api/1.0/projects/{projectKey}/repos/{repositorySlug}/pull-requests/{pullRequestId} 找到源分支的最新提交。有关详细信息,请参阅docs

    获得提交 ID 后,您可以通过调用 /rest/build-status/1.0/commits/{commitId} 来查询构建状态 api。有关详细信息,请参阅docs

    【讨论】:

      【解决方案2】:

      使用 API 2.0

      例子:

      curl --request GET \
        --url https://api.bitbucket.org/2.0/repositories/piavita/com.piavita-vet.ios/pullrequests/300/statuses \
        --header 'Authorization: Basic SecretKey' \
        --header 'Content-Type: application/json'
      
      curl --request POST \
        --url https://api.bitbucket.org/2.0/repositories/piavita/com.piavita-vet.ios/commit/8619291af393/statuses/build \
        --header 'Authorization: Basic SecretKey' \
        --header 'Connection: keep-alive' \
        --data '{\n   "url": "http://jenkins.ddns.net:8080/job/jobName/123/",\n   "state": "SUCCESSFUL",\n    "key": "JENKINS"\n}'
      

      【讨论】:

      • 如果您在服务器/数据中心实例上,您将被困在 API v1.0
      猜你喜欢
      • 2018-07-11
      • 1970-01-01
      • 2020-05-07
      • 2015-06-09
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多