risou's Lithograph

GitHub API v4 では v3 でできることのいくつかができない

2022-10-10

最近いろいろな事情があり、 API 経由で GitHub からデータを取得したり変更をかけたりしたくて GitHub API について調べたり実際に叩いてみたりしていた。

GitHub の API は現行では REST API である v3 と GraphQL API である v4 が提供されており、 v4 は v3 の後継というよりは新規に作り直しているもの、という立ち位置のようだ。

基本的には最新版を使うのが良いだろうという認識のもと(幸いにも GraphQL に触れた経験はあったので) v4 を使ってやりたいことを実現するコードを書き進めていた。
が、あることをやろうとして、それを実現する機能が v4 では提供されていなさそうだ、という事に気づいた。
やろうとしていたのは、 GitHub Organization における Team で、要は作業の一環として複数のチームを一気に作りたかったのだ。
だが GitHub API v4 のスキーマを見ていると、 createTeam という感じの mutation が存在しない。
v3 のドキュメントを見に行ってみると Teams - GitHub Docs とあり POST で /orgs/{org}/teams にリクエストを送ることでチームを作れそうである。

と、ここまで書いておきながら本当に API v4 でできないのか、まだよくわかっていない。
GitHub 上で GitHub API を活用してそうなリポジトリをいくつか見て回ったが、そのうちのいくつかは v3 と v4 を併用しているようだったので、「v3 でできることは全て v4 でできる」というわけではなさそうに見える。

ということで、自分としては v3 / v4 を併用するか、 v3 なら自分がやりたいことが全てできると信じて v3 のみに統一するか、という判断が必要そうだ。

2022-10-10T13:15:25.483445Z