エンジニアはこわくない

雑記とかエンジニアっぽい内容を好きなように書く場所

GithubAPIのOutside Collaboratorsはプレビュー版なので注意しようという話


スポンサーリンク

f:id:tsujitaku50:20170107105906p:plain

こんにちは、つじたく(@Tsuji_Taku50)です。

GithubAPIを使用知ていた時に気づいたのですが、

GithubAPIの中で唯一?プレビュー版(つまりβ版)のAPIがあります。

それがOutside Collaborators部分のAPIです。

このAPIだけ少しだけ注意が必要で、知らない人がハマるかもしれないので説明したいと思います。

ちなみに僕は30分くらいハマりました。(ちゃんと公式ドキュメント読め自分)

Outside Collaborators部分のAPIだけ上手くいかない

GithubAPIを使用していて、Outside Collaborators部分のAPIだけ上手く疎通できないことに気づきました。

「うーん、他のissueとかPullRequestとかと同じ使い方してるはずなんだけどなー」

って思ってずっと公式ドキュメントを読んでました。

そこで気づいたのですが、普通に公式ドキュメントに「プレビュー版だよ」って書いてました。

さらっと流し読みしていたので気づかなかったorz・・・

公式ドキュメントに書いてある注意書きをGoogle翻訳さんにかけてみました。

Note: The Organization Membership API on GitHub is currently available for developers to preview. To access the API you must provide a custom media type in the Accept header:

application/vnd.github.korra-preview

GitHubのOrganization Membership APIは現在、開発者がプレビューすることができます。 APIにアクセスするには、Acceptヘッダーにカスタムメディアタイプを指定する必要があります。

application/vnd.github.korra-preview」

Warning: The API may change without advance notice during the preview period. Preview features are not supported for production use. If you experience any issues, contact GitHub support.

「警告:APIは、プレビュー期間中に予告なしに変更されることがあります。プロダクションでは、プレビュー機能はサポートされていません。問題が発生した場合は、GitHubサポートに連絡してください。」

これでなんとなく分かりましたね。

「まだβ版だから、予告なしに変更されることがあるよ。何かあったらGithub社に連絡してね。

使うときはヘッダーに

application/vnd.github.korra-preview

を指定してね。」

ということらしいです。

僕はヘッダーにapplication/vnd.github.korra-previewを指定してなかったので、上手く疎通できなかったみたいです。

参考例

curlコマンドでGithubAPIを叩く参考例を載せておきます。

% curl -X GET -H "Authorization: Bearer あなたのアクセストークン" -H "Accept: application/vnd.github.korra-preview" "https://api.github.com/orgs/あなたのorganization/outside_collaborators"

アクセストークンとorganizationを置き換えれば、APIを叩くのに成功するかと思います。

おわり!!

公式ドキュメント

Organization Outside Collaborators | GitHub Developer Guide