3

パラメーターとしてリポジトリのリストを受け取り、単一の API 呼び出しでそれらのリポジトリの情報を返す Github GraphQL 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
    }
  }
}

ids関心のあるリポジトリは次のとおりnode_idsです。これらは、次のように個々の GraphQL 呼び出しで取得できます。

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