Вы должны попробовать другой API. Согласно документации Status API GitHub,
API состояния позволяет внешним службам отмечать коммиты в состоянии error
, failure
, pending
или success
, что затем отражается в запросах на получение, связанных с этими коммитами.
Таким образом, Status API предоставляет статус каждого коммита как части PR, например, если сборка завершилась неудачно или успешно, как часть проталкивания фиксации. Приведенный ниже запрос будет возвращать статусы только как часть ссылки.
GET /repos/:owner/:repo/commits/:ref/statuses
Вам нужен API-интерфейс Reviews , где вы можете получить отзывы для PR, который будет иметь ожидаемое поле state
. API - это
GET /repos/:owner/:repo/pulls/:number/reviews
И пример ответа
[
{
"id": 80,
"node_id": "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=",
"user": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"body": "Here is the body for the review.",
"commit_id": "ecdd80bb57125d7ba9641ffaa4d7d2c19d3f3091",
"state": "APPROVED",
"html_url": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80",
"pull_request_url": "https://api.github.com/repos/octocat/Hello-World/pulls/12",
"_links": {
"html": {
"href": "https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80"
},
"pull_request": {
"href": "https://api.github.com/repos/octocat/Hello-World/pulls/12"
}
}
}
]
Обратите внимание, что поле state в ответе имеет искомое состояние APPROVED .
Более подробная информация об этом содержится в документации по GitHub API Обзоров.