私はGitHub AppをGitHub Actionsで主に使っているのだけど、手元でスクリプトの動作検証をしたいときにJWTを作って…トークンを発行して…というのが面倒だったので、GitHub CLIの拡張として新たにコマンドを作った。 同じことを考えている人がいるはず!っと検索をしたけど、見つからなかったので車輪の再発明ではないはず…たぶん…
使い方
まず、前提としてGitHub CLI(ghコマンド)がインストールされているとして、以下のコマンドを実行してgh-app-tokenをインストールする。
gh extension install buty4649/gh-app-token
トークンの発行は、1. installation idを直接指定する方法、2. organizationを指定する方法、3. リポジトリを指定する方法、4.ユーザを指定する方法がある。 ここらへんは、actions/create-github-app-tokenの指定方法を模してみた。
# 1. installation idを直接指定する方法 gh app-token --app-id <APP_ID> --private-key <PRIVATE_KEY> --installation-id <INSTALLATION_ID> # 2. organizationを指定する方法 gh app-token --app-id <APP_ID> --private-key <PRIVATE_KEY> --org <ORGANIZATION> # 3. リポジトリを指定する方法 gh app-token --app-id <APP_ID> --private-key <PRIVATE_KEY> --repo <OWNER/REPO> # 4.ユーザを指定する方 gh app-token --app-id <APP_ID> --private-key <PRIVATE_KEY> --user <USERNAME>
便利
おわりに
GitHub AppのトークンをCLIで発行できる便利ツールを作った。 このツールを作りにあたり、CursorのAgentモードを使ったのだがシュッと作れて良い。
(2025/06/17追記) 思いっきりバグっていたのでv1.1.0をだした
v1.0.0のときは問題なく動いていたのだが、そのあと出したv1.0.1がバグっていた… そして、go-ghを使っていたのだが、これが内部的にghコマンドを叩いてトークンを発行していた…そのトークンは使われないので問題は起きなかったのだが無駄な処理が走っていたので、go-githubに置換して無駄な処理を減らした。