首页 > 解决方案 > 使用 GraphQL 和 IssueFilters 获取特定里程碑中的 GitHub 问题

问题描述

之前过一个类似的问题,但没有使用IssueFilters我想在这个问题中使用的内容。

使用 GitHub 的 GraphQL Explorer,我可以使用以下查询获取存储库的问题:

{
  repository(owner: "neovim", name: "neovim") {
    hasIssuesEnabled
    issues(first: 20, orderBy: {field: CREATED_AT, direction: DESC}, filterBy: {milestone:"*"}) {
      nodes {
        ... on Issue {
          number
          title
          milestone {
            number
      id
      url
      title
          }
        }
      }
    }
  }
}

根据文档,这milestone是一个允许您:issueFilter

按给定的里程碑参数列出问题。如果传递了整数的字符串表示形式,则它应该通过其数字字段来引用里程碑。传入 null 表示没有里程碑的问题,* 表示分配给任何里程碑的问题。

但是,如果使用 afilter不是 a*但假设filterBy: {milestone:"9"}(9 是我正在使用的存储库的有效里程碑编号),查询不返回节点:

{
  "data": {
    "repository": {
      "hasIssuesEnabled": true,
      "issues": {
        "nodes": []
      }
    }
  }
}

我不明白为什么这在我阅读的文档中不起作用。我是否遗漏了一些关于“它应该通过其数字字段引用里程碑”的含义?

标签: graphqlgithub-api

解决方案


推荐阅读