如何从GitHub的API中获取问题

时间:2017-03-15 23:18:54

标签: github github-api

GitHub具有以下API以从存储库中获取“问题”:

GET /repos/:owner/:repo/issues

好的,好吧?如果你仔细看,你会注意到这一部分:

"pull_request": {
  "url": "https://api.github.com/repos/cheddar-lang/Cheddar/pulls/76",
  "html_url": "https://github.com/cheddar-lang/Cheddar/pull/76",
  "diff_url": "https://github.com/cheddar-lang/Cheddar/pull/76.diff",
  "patch_url": "https://github.com/cheddar-lang/Cheddar/pull/76.patch"
}

这意味着它是一个拉取请求。

我已经完成了额外的测试,看起来这个API调用会返回Pull Requests。

我理解GitHub在内部同时将问题和提取请求视为同一个问题,但无论如何只能 ,问题(不包括请求请求)?

知道我可以在客户端过滤问题。但是,如果存储库与问题相比具有更高的Pull请求比率,那么我不想做出大量的API请求。

1 个答案:

答案 0 :(得分:2)

您应该可以使用GraphQL API

执行此操作

事实上,GraphQL API的目的只是准确指定你想要的东西。

所以你可以这样查询:

{
  repository(owner: ":owner", name: ":repo") {
    id
    issues(first: 100) {
      edges {
        node {
          id
          number
          title
          url
        }
      }
    }
  }
}

这将返回特定存储库的前100个问题,并且每个问题仅包含idnumbertitleurl

有用的链接:
存储库文档:https://developer.github.com/early-access/graphql/object/repository/

问题文档:https://developer.github.com/early-access/graphql/object/issue/