2017-11-23 13 views
2

Github GraphQL APIを使用して、いくつかのデータ調査を行い、検索結果からリポジトリコンテンツをダウンロードしたいと考えています。Graphith API検索でGithubリポジトリをダウンロードするには?

簡単な検索クエリの作成方法は既にわかりましたが、質問は です。検索結果からリポジトリコンテンツをダウンロードするにはどうすればよいですか?ここで

は、リポジトリの名前と説明(try to run here)を返す私の現在のコードです:

{ 
    search(query: "example", type: REPOSITORY, first: 20) { 
    repositoryCount 
    edges { 
     node { 
     ... on Repository { 
      name 
      descriptionHTML 
     } 
     } 
    } 
    } 
} 

答えて

2

あなたは、最新の次にレポのデフォルトのブランチにコミットするためのtarball/zipball URLを取得することができます:検索クエリを使用して

{ 
    repository(owner: "google", name: "gson") { 

    defaultBranchRef { 
     target { 
     ... on Commit { 
      tarballUrl 
      zipballUrl 
     } 
     } 
    } 
    } 
} 

は、次のように使用することができます。

{ 
    search(query: "example", type: REPOSITORY, first: 20) { 
    repositoryCount 
    edges { 
     node { 
     ... on Repository { 
      defaultBranchRef { 
      target { 
       ... on Commit { 
       zipballUrl 
       } 
      } 
      } 
     } 
     } 
    } 
    } 
} 

を使用して、その検索のすべてのzipファイルをダウンロードしたスクリプト、 &

curl -s -H "Authorization: bearer YOUR_TOKEN" -d ' 
{ 
    "query": "query { search(query: \"example\", type: REPOSITORY, first: 20) { repositoryCount edges { node { ... on Repository { defaultBranchRef { target { ... on Commit { zipballUrl } }}}}}}}" 
} 
' https://api.github.com/graphql | jq -r '.data.search.edges[].node.defaultBranchRef.target.zipballUrl' | xargs -I{} curl -O {} 
関連する問題