このチャプターの目次
runnはGitHubリポジトリ上にあるランブックを直接実行できます。
github://
スキーム
GitHubリポジトリ上のランブックの指定には github://
スキームを使用します。
例えば、runnのリポジトリにある testdata/book/httpbin.yml
を実行してみます。
$ export GITHUB_TOKEN=ghp_xxxxxXXXXXXxxxxxxXXXXXXX
$ runn run github://k1LoW/runn/testdata/book/httpbin.yml
Run 'Specify request contents by converting variables with built-in functions' on 'testing json request body'.steps[0]
-----START HTTP REQUEST-----
GET /get?var=C%2B%2B HTTP/1.1
Host: httpbin.org
-----END HTTP REQUEST-----
-----START HTTP RESPONSE-----
[...]
Run 'test' on 'testing json request body'.steps[8]
testing json request body ... ok
1 scenario, 0 skipped, 0 failures
$
github://
スキームは github://[owner]/[repo]/[file path]
という構成で組み立てます。
また、内部ではGitHub APIを使用するので、あらかじめPersonal access tokenを環境変数 GITHUB_TOKEN
など[1]に設定しておく必要があります。環境変数のルールは gh
コマンドと同じ です。
[コラム] GitHub APIクライアントの初期化
runnではGitHub APIクライアントの初期化に github.com/k1LoW/go-github-client
パッケージを使用しています。
go-github-clientパッケージは、google/go-githubのラッパーです。
GitHub APIクライアントを初期化するための環境変数の取得と設定をして *github.Client
を初期化します。
環境変数取得の順番やルールは gh
コマンドの環境変数の取得ルールに沿うという方針を採用しています。
GitHub APIを使用するツールを作るたびに同じコードを書いていたのでパッケージと切り出しています。
-
もしくは
GH_TOKEN
やGH_ENTERPRISE_TOKEN
など。 ↩︎