【问题标题】:How can I get the number of GitHub issues using the GitHub API?如何使用 GitHub API 获取 GitHub 问题的数量?
【发布时间】:2019-12-06 09:25:09
【问题描述】:

您好,我正在尝试使用 Angular 和 Github Rest API 获取回购的问题数量,但问题是我只收到 30 个问题,即使该回购中有更多问题。 请帮我解决这个问题。 我使用下面的 REST Api 来解决问题。

https://api.github.com/repos/vmg/redcarpet/issues?state=all

【问题讨论】:

    标签: javascript angularjs github github-api


    【解决方案1】:

    更新响应

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

    GET /repos/:owner/:repo

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

    • has_issues,即truefalse,以及
    • open_issues_count,这应该会给你未解决的问题的数量。

    我不确定有什么方法可以获取问题的数量,包括未打开的问题。

    原始回复

    你需要paginate:

    返回多个项目的请求默认分页为 30 个项目。您可以使用?page 参数指定更多页面。对于某些资源,您还可以使用 ?per_page 参数将自定义页面大小设置为最大 100。请注意,由于技术原因,并非所有端点都尊重?per_page 参数,例如,请参阅events

    $ curl 'https://api.github.com/user/repos?page=2&per_page=100'
    

    【讨论】:

    • 另请注意,GitHub 搜索 API 将您限制为 1000 total results per search。实际上,它为您提供了结果的最后一页,因此如果每页有 30 个结果,您将获得 1020 个结果。您只能通过发出多个搜索查询来解决此问题。
    • 我想为遇到此问题的任何人补充一点,open_issues_count 将为您提供 Issues + PRs 的计数,因为 GitHub 将 PR 计为问题。
    猜你喜欢
    • 2015-12-03
    • 2014-08-27
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2019-08-28
    • 2020-10-17
    • 2023-01-07
    相关资源
    最近更新 更多