如何使用github API获取所有github问题?

San*_*era 5 javascript github github-api angularjs

您好我正在尝试使用angular和Github Rest API获取回购的问题数量,但问题是我只得到30个问题,即使回购中存在更多问题.请帮我解决这个想法.我使用下面的REST Api来解​​决问题.

https://api.github.com/repos/vmg/redcarpet/issues?state=all
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 6

更新的回复

如果您只想要问题的数量,我认为您最接近的是get repo端点:

GET/repos /:owner /:repo

此端点的JSON响应包括两个相关键:

  • has_issues,将是truefalse,和
  • open_issues_count,这应该给你一些未解决的问题.

我不知道有什么方法可以解决包括那些未公开的问题.

原始回复

你需要分页:

默认情况下,返回多个项目的请求将分页为30个项目.您可以使用?page参数指定更多页面.对于某些资源,您还可以使用?per_page参数将自定义页面大小设置为100 .请注意,由于技术原因,并非所有端点都遵循该?per_page参数,请参阅事件.

$ curl 'https://api.github.com/user/repos?page=2&per_page=100'
Run Code Online (Sandbox Code Playgroud)

  • 另请注意,GitHub搜索API将您限制为[每个搜索1000个总结果](https://developer.github.com/v3/search/#search-issues)。实际上,它为您提供了最后一页的结果,因此,如果每页有30个结果,那么您将获得1020个结果。您只能通过发出多个搜索查询来解决此问题。 (3认同)
  • 我想为遇到此问题的任何人补充一点,“open_issues_count”将为您提供 **问题 + PR** 的计数,因为 GitHub 将 PR 计为问题。 (2认同)