Github 按里程碑划分的 Graphql 过滤器问题
Github Graphql Filter issues by Milestone
我正在研究 Github 的 graphql api(在学习 graphql 的同时)试图让它列出某个里程碑中的所有问题。我无法从 API 文档中弄清楚如何做到这一点。
我可以查询问题并查看它们处于哪个里程碑(抱歉,名称已编辑):
query {
repository(owner:"me", name:"repo") {
issues(last:10) {
nodes {
milestone {
id
title
}
}
}
}
}
我希望有一种方法可以表达类似 issues(milestoneID:"xyz")
的内容,或者如果 Issue 可以定义 MilestoneConnection
(似乎不存在)。
到目前为止,在我阅读/学习 GraphQL 的过程中,如果模式中未定义显式参数,我还没有找到构建任意字段过滤器的方法(我说得对吗?)。
我想我可以查询存储库中的所有问题并 post 处理 JSON 响应以过滤掉我想要的里程碑,但是有没有更好的方法来做到这一点 github + graphql?
您可以使用带有 milestone
过滤器的搜索查询:
{
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
}
}
}
}
}
GitHub 最近添加了查看与给定里程碑关联的所有问题的功能。您应该能够使用类似于以下的查询来获取它:
query($id:ID!) {
node(id:$id) {
... on Milestone {
issues(last:10) {
edges {
node {
title
author {
login
}
}
}
}
}
}
}
或者如果您不知道节点 ID,您可以这样做:
query($owner:String!,$name:String!,$milestoneNumber:Int!) {
repository(owner:$owner,name:$name) {
milestone(number:$milestoneNumber) {
issues(last:10) {
edges {
node {
title
author {
login
}
}
}
}
}
}
}
我正在研究 Github 的 graphql api(在学习 graphql 的同时)试图让它列出某个里程碑中的所有问题。我无法从 API 文档中弄清楚如何做到这一点。
我可以查询问题并查看它们处于哪个里程碑(抱歉,名称已编辑):
query {
repository(owner:"me", name:"repo") {
issues(last:10) {
nodes {
milestone {
id
title
}
}
}
}
}
我希望有一种方法可以表达类似 issues(milestoneID:"xyz")
的内容,或者如果 Issue 可以定义 MilestoneConnection
(似乎不存在)。
到目前为止,在我阅读/学习 GraphQL 的过程中,如果模式中未定义显式参数,我还没有找到构建任意字段过滤器的方法(我说得对吗?)。
我想我可以查询存储库中的所有问题并 post 处理 JSON 响应以过滤掉我想要的里程碑,但是有没有更好的方法来做到这一点 github + graphql?
您可以使用带有 milestone
过滤器的搜索查询:
{
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
}
}
}
}
}
GitHub 最近添加了查看与给定里程碑关联的所有问题的功能。您应该能够使用类似于以下的查询来获取它:
query($id:ID!) {
node(id:$id) {
... on Milestone {
issues(last:10) {
edges {
node {
title
author {
login
}
}
}
}
}
}
}
或者如果您不知道节点 ID,您可以这样做:
query($owner:String!,$name:String!,$milestoneNumber:Int!) {
repository(owner:$owner,name:$name) {
milestone(number:$milestoneNumber) {
issues(last:10) {
edges {
node {
title
author {
login
}
}
}
}
}
}
}