3

我正在尝试创建对 Github GraphQL API 的查询,该查询接收存储库列表作为参数,并在单个 API 调用中返回这些存储库的信息,有人知道该怎么做吗?

像这样的东西(我知道这不起作用)

query myOrgRepos($repos: [String!]!) {
  search(query:"""
  repo in $repos
  """, type: REPOSITORY, first: 100) {
      repo: nodes {
          ... on Repository{
              name
              description
              updatedAt
          }
      }
  }
4

2 回答 2

0

我花了一些时间来理解你的评论,所以我会完整地发布答案。关键是在查询字符串中使用 Github 的高级搜索“语法”,示例见此处

以下查询将找到用户“github”的所有存储库以及用户“graphql”的 graphql-js 存储库:

query {
  search(query: "user:github repo:graphql/graphql-js" type: REPOSITORY first: 10) {
    nodes {
      ... on Repository {
        name
        description
        updatedAt
      }
    }
  }
}
于 2021-12-24T09:52:45.040 回答
0

我对您的问题的理解是您想输入“已知”存储库的列表并输出有关它们的信息。在这种情况下,您可以形成以下类型的查询。

{
  nodes(ids: ["node_id_1", "node_id_2"]) {
    ... on Repository {
      nameWithOwner
      createdAt
    }
  }
}

idsnode_ids您感兴趣的存储库。您可以通过单独的 GraphQL 调用来获取这些存储库,如下所示

{
  repository(owner: "owner", name: "name") {
    id
  }
}
于 2021-12-29T18:59:47.003 回答