首页 > 解决方案 > 如何使用 GitHub GraphQL API 获取具有特定主题的所有存储库?

问题描述

我正在尝试使用 Github GraphQL API 获取包含主题“投资组合”的所有存储库。

目前,我只找到了如何在 github 上获取具有特定主题的所有 repos,如下所示:

{
  search(type: REPOSITORY, query: "topic: portfolio", last: 50) {
    repos: edges {
      repo: node {
        ... on Repository {
          url
        }
      }
    }
  }
}

而且我知道如何获取特定用户的所有存储库,如下所示:

{
  user(login: "VitFL") {
    repositories(last: 50) {
      repos: nodes {
        url
      }
    }
  }
}

但我不知道如何组合这些查询,所以我可以接收所有带有特定用户主题“投资组合”的回购

有谁知道如何达到这个结果?

标签: apigithubgraphqlgithub-apigithub-graphql

解决方案


使用search()user可以将参数添加到query值中。

此外,应删除冒号后的空格,即topic: portfolio-> topic:portfolio。您会注意到此更改的更多结果。

{
  search(type: REPOSITORY, query: "user:VitFL topic:portfolio", last: 50) {
    repos: edges {
      repo: node {
        ... on Repository {
          url
        }
      }
    }
  }
}

推荐阅读