如何使用BitBucket API获取PR的构建状态?

时间:2019-09-17 15:46:35

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

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

这是我的API URL:

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

在GUI上的构建状态如何:

enter image description here

我还尝试了以下方法来获取Build状态,但没有运气

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

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

预先感谢您的回答。

2 个答案:

答案 0 :(得分:1)

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

一旦有了提交ID,就可以通过调用/rest/build-status/1.0/commits/{commitId}来查询build-status api。有关更多详细信息,请参见docs

答案 1 :(得分:0)

使用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}'