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请求.
最佳答案 您应该可以使用 GraphQL API执行此操作
事实上,GraphQL API的目的只是准确指定您想要的内容.
所以你可以这样查询:
{
repository(owner: ":owner", name: ":repo") {
id
issues(first: 100) {
edges {
node {
id
number
title
url
}
}
}
}
}
这将返回特定存储库的前100个问题,并且仅包括每个问题的ID,编号,标题和URL.
有用的链接:
存储库文档:https://developer.github.com/early-access/graphql/object/repository/
问题文档:https://developer.github.com/early-access/graphql/object/issue/