github projectsからバーンダウンチャートを作る 調査編

自力でバーンダウンチャートが作りたいなと思ってAPI仕様書を読んだのでメモ
GitHub API v3 | GitHub Developer Guide

認証

方法はBASIC認証と認証トークンの2種類ある

BASIC認証

もはやcurlの使い方だけどとりあえずメモ

curl -u "username" https://api.github.com

これを叩くとパスワードを聞かれるので入力すると認証完了

usernameのところにパスワードも書いて

curl -u "username:password" https://api.github.com

にするとパスワード入力をスキップできる
ただしパスワードが丸見えなのでオススメはしない

認証トーク

認証トークンの載せ方は2つある

認証トークンをヘッダに載せる

curl -H "Authorization: token OAUTH-TOKEN" https://api.github.com

認証トークンをqueryに載せる

curl https://api.github.com/?access_token=OAUTH-TOKEN

Project(カンバン)の情報を取得する

ここからが本題
以下のサンプルでは認証はBASIC認証で記します

事前準備

リポジトリ単位で取得するのリポジトリオーナー名リポジトリ名を調べておいてください

リポジトリ内のプロジェクト一覧を取得する

curl -u "username" -H 'Accept:application/vnd.github.inertia-preview+json' https://api.github.com/repos/:owner/:repo/projects

:owner:repoに先ほど調べた値を入れる
これでリポジトリ内のプロジェクト一覧が取れるので、見たいプロジェクトIDをメモる

プロジェクトのカラムを取得する

curl -u "username" -H 'Accept:application/vnd.github.inertia-preview+json' https://api.github.com/projects/:projectid/columns

カラム単位でカード一覧を取得する

curl -u "username" -H 'Accept:application/vnd.github.inertia-preview+json' https://api.github.com/projects/columns/:columnid/cards

これでバーンダウンチャートに必要な情報がとれた
情報を定期的に取得して集計すればバーンダウンチャートが作れる