Edd*_* R. 6 github github-api graphql github-graphql
我正在与Github的graphql api(在学习graphql时)进行角力,试图使其列出某个里程碑中的所有问题。我不知道如何从API文档中做到这一点。
我可以查询问题并查看它们所处的里程碑(抱歉,名称已删除):
query {
repository(owner:"me", name:"repo") {
issues(last:10) {
nodes {
milestone {
id
title
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我希望有一种方法可以说类似issues(milestoneID:"xyz"),或者如果Issue将定义一个MilestoneConnection(似乎不存在)。
到目前为止,在我对GraphQL的阅读/学习中,如果没有在模式中定义显式参数,我还没有找到一种构建字段的任意过滤器的方法(我是吗?)。
我想我可以查询存储库中的所有问题,并对JSON响应进行后处理以过滤出我想要的里程碑,但是有没有更好的方法使用github + graphql做到这一点?
您可以使用带有milestonefilter 的搜索查询:
{
search(first: 100, type: ISSUE, query: "user:callemall repo:material-ui milestone:v1.0.0-prerelease state:open") {
issueCount
pageInfo {
hasNextPage
endCursor
}
edges {
node {
... on Issue {
createdAt
title
url
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
GitHub最近增加了查看与给定里程碑相关的所有问题的功能。您应该能够使用类似以下的查询来获取它:
query($id:ID!) {
node(id:$id) {
... on Milestone {
issues(last:10) {
edges {
node {
title
author {
login
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您不知道节点ID,则可以执行以下操作:
query($owner:String!,$name:String!,$milestoneNumber:Int!) {
repository(owner:$owner,name:$name) {
milestone(number:$milestoneNumber) {
issues(last:10) {
edges {
node {
title
author {
login
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
797 次 |
| 最近记录: |