11月も終わり、12月が始まりました。 つまりこの投稿は、VALU Advent Calendar 2019の1日目の投稿です!

11月をふりかえるためにどんな成果があったのかをGithubから取得し可視化してみようと思います。

Rest API を利用する方法と、GraphQL APIを利用する方法がありますが、今回はGraphQL APIを利用することにしました。

Github Explorerを利用してクエリを作る

Github Explorer を使うと補完までしてくれるので、かんたんにクエリを組み上げることが出来ます。

Githubにログインしてるだけでは使えないので、必ず右上の緑のボタンからSign inしてください。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/069e9f4f-ff86-4769-ab33-451b094ed3b0/_2019-11-30_20.47.09.png

ほしい情報を取得するクエリを作る

なにはともあれデフォルトのクエリを実行

上記、Github Explorerで最初に表示されているクエリを実行してみます。

Query

{
  viewer { 
    login
  }
}

Result

{
  "data": {
    "viewer": {
      "login": "tyamaguc07"
    }
  }
}

リポジトリの情報を取得する

上記クエリの viewer[repository](<https://developer.github.com/v4/query/#repository>) に変えます。

引数として、 nameowner を指定します。この2つの引数は必須です。 ※ ドキュメント上で、Typeのsuffixに ! が着いているものは必須引数

respository のスコープで指定している id はbase64でエンコードされた一意な識別子です。 取得できた id をデコードしてみると面白いですよ。