我需要 PR 的审阅者列表,而 Github 中的 Review Requests API 仅向我提供所请求的审阅者,一旦审阅者接受了邀请,该列表就会变为空。我还尝试了 Reviews API 来获取所有评论,然后获取唯一用户,但这似乎仅适用于输入评论的用户,而不适用于已接受请求评论邀请且从未发布评论的用户。
获得其他审稿人的方法是
https://api.github.com/repos/{owner}/{repo}/pulls/{pull_number}/reviews
state
将显示是APPROVED
还是CHANGES_REQUESTED
。而且每条评论还有user
刚刚通过以下解决方案解决了这个问题。
根据GitHub的文档:
GET /repos/:owner/:repo/pulls/:pull_number/requested_reviewers
拉取请求作者、存储库所有者和协作者可以 请求任何具有写入权限的人进行拉取请求审查 存储库。每个被请求的审稿人都会收到一条通知,询问 他们审查拉取请求。
测试要求:
https://api.github.com/repos/roliveiravictor/demo-rust-learning/pulls/1/requested_reviewers
回应:
{
"users": [],
"teams": []
}
由于没有人确定这个公共测试存储库,所以它当然是空的。请记住,他们需要对您的存储库具有写入权限。这在我的私人项目中效果很好。
听起来你正在尝试在像 GitHub Action 这样的自动化中使用它,如果是这种情况,只需使用这个:https://github.com/marketplace/actions/get-github-pull-request-评论
如果没有,您可以简单地从 GitHub API 获取评论,如下所示:
https://api.github.com/repos/{AUTHOR}/{REPOSITORY}/pulls/{PULL_REQUEST_ID}/reviews
例如:https://api.github.com/repos/bitcoin/bitcoin/pulls/29413/reviews
唯一需要担心的是速率限制:https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api
计划 | 每小时请求数 |
---|---|
未经验证 | 50 |
个人 | 5000 |
企业 | 15000 |