从 GitHub 拉取请求中获取评论列表
Posted
技术标签:
【中文标题】从 GitHub 拉取请求中获取评论列表【英文标题】:Get list of comments from GitHub pull request 【发布时间】:2013-04-18 09:06:38 【问题描述】:根据http://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request
我应该能够通过发出以下 curl 语句来获取 cmets 列表,但是,它返回空,好像没有 cmets,任何想法为什么?或者我怎样才能让它工作?
curl "https://api.github.com/repos/37signals/sub/pulls/37/comments" -v
谢谢!
【问题讨论】:
【参考方案1】:请注意
GET /repos/owner/repo/issues/issue_number/comments
GET /repos/owner/repo/pulls/issue_number/comments
不要返回相同的 cmets!例如,对于Facebook's react 的拉取请求 22878,我们会得到问题评论 ID [988239459, 988246552, 988274918]
(均以 9 开头)和拉取请求 cmets [764333623, 764334882]
(以 7 开头)。
如果你想拥有来自 GitHub 的所有 cmets,你需要查询这两个 API 端点。
【讨论】:
【参考方案2】:您可以单击评论标题中的日期以获取评论的 URL。 它会在地址栏中为您提供特定的评论 URL。您可以复制该链接并将其分享给您的同事以解决这些问题。
享受..!!
【讨论】:
这是一个有用的提示,但它不适用于所提出的问题,因为它与通过 curl 检索 cmets 列表无关。【参考方案3】:注意Pull requests API docs 顶部附近的文本(在目录下):
Pull Request API 允许您列出、查看、编辑、创建甚至合并拉取请求。可以通过问题评论 API 管理对拉取请求的评论。
所以,API 端点you are currently using 是为拉取请求审查 cmets 而设计的,而不是普通的拉取请求 cmets:
Pull Request Review Comments 是统一差异部分的 cmets。它们与提交评论(直接应用于提交,在拉取请求视图之外)和问题评论(不引用统一差异的一部分)是分开的。
由于您引用的拉取请求没有任何审查 cmets,因此您得到了正确的结果(一个空列表)。但是,正如我上面提到的,您应该访问的 API 端点是问题 cmets 的端点(只需使用相同的拉取请求 ID,因为它等于问题 ID):
curl "https://api.github.com/repos/37signals/sub/issues/37/comments" -v
【讨论】:
以上是关于从 GitHub 拉取请求中获取评论列表的主要内容,如果未能解决你的问题,请参考以下文章