2017/7/4
環境変数を使ってOctokitをGitHub Enterpriseに繋ぐ
octokit/octokit.rb: Ruby toolkit for the GitHub API に書いてある通り、Octokitは環境変数から設定のデフォルト値を読み込むことができる。
これをいい感じに設定しておくと、GH:Eにつなぎたいときや、プレビュー版のAPIを使いたい時(EnterpriseのProjects関係のAPIはまだプレビュー版だったりする)にとても便利だった。
環境変数の設定にはenvchainを使った。 (OS X キーチェーンから環境変数をセットするツールを作りました - クックパッド開発者ブログ)
設定した環境変数は以下の4つ。
- OCTOKIT_ACCESS_TOKEN
- OCTOKIT_API_ENDPOINT
- OCTOKIT_DEFAULT_MEDIA_TYPE
- OCTOKIT_SILENT
DEFAULT_MEDIA_TYPE
には前述のProjects APIを叩くためにapplication/vnd.github.inertia-preview+json
を設定しておく。また、プレビューAPIを叩くと警告がでるのでOCTOKIT_SILENT
にはtrue
を設定する。
envchain
にはghe
という名前で登録している。登録するコマンドは以下の通り。
$ envchain -s ghe OCTOKIT_ACCESS_TOKEN OCTOKIT_API_ENDPOINT OCTOKIT_DEFAULT_MEDIA_TYPE OCTOKIT_SILENT
設定したら、irbを起動するときにenvchainを経由すればOK。GitHub Enterpriseに接続してデータが取得できる。
$ envchain ghe irb
irb(main):001:0> require 'octokit'
=> true
irb(main):002:0> Octokit.user
=> {:login=>"kenchan",
...
...
めでたしめでたし。
created_at: 2017-07-04 15:38:38 +0900
updated_at: 2020-03-22 08:19:42 +0900