動機
GitHubのIssueとProjectを使ってTiDDしているが機能的に物足りないので
サマリを作る部分だけでも自動化したいと思っている
GitHubAPI
-
v3 https://developer.github.com/v3/
REST API -
v4 https://developer.github.com/v4/
GraphQL API
V4を試して見る
- API endpoint: https://api.github.com/graphql
- GitHubのPERSONAL ACCESS TOKENが必要
- 取得したらqueryのJSONをcurlでPOSTリクエスト
curl -H "Authorization: bearer ACCESS_TOKEN" -X POST -d " \
{ \
\"query\": \"query { viewer { login }}\" \
} \
" https://api.github.com/graphql
{"data":{"viewer":{"login":"jxmtst"}}}
GitHub GraphQL API Explorer
GraphQLのリクエストを試せるツールがあったので試してみた
制限について
rate limit
- v3の制限は 5,000request/hour
- v4の制限はrate limit scoreというポイントで計算される
- rate limit scoreに関する説明の原文
https://developer.github.com/v4/guides/resource-limitations/#rate-limit
負荷によって変わると書いて有るけど、結局具体的な数値は組んでいる段階では分からなそうに見える。
じゃあ実際のpointはどうやって知るかというと
queryにrateLimitを付加する事で分かる
node limit
- GraphQLなのでNodeにもリミットがかかっている
- 一つのnodeは100件まで
- 1リクエストで500,000ノードまで
ノードが大きければその分rate limite scoreもあがるので実用するには色々考える必要がありそう
Objects
リソースに関するドキュメントはこちら
https://developer.github.com/v4/object/
今日はここまで