結論
gh auth token
によって GitHub CLI 用の (gh auth login
で生成された) トークンが取れる。
それを GH_TOKEN
にセットしておけばOK
TOKEN=$(gh auth token)
export GH_TOKEN=$TOKEN
理由
GH_TOKEN, GITHUB_TOKEN (in order of precedence): an authentication token that will be used when a command targets either or a subdomain of . Setting this avoids being prompted to authenticate and takes precedence over previously stored credentials.
https://cli.github.com/manual/gh_help_environment
つまり GitHub CLI では、
-
gh auth login
で生成されたトークンよりもGITHUB_TOKEN
を優先するが、 -
GITHUB_TOKEN
よりもGH_TOKEN
をさらに優先する
ということ。
背景
関わるリポジトリが何らかの理由で GITHUB_TOKEN
という名称の変数にPATを設定させてくる場合があると思う。(ないかも)
その場合に困ることとして、 GitHub CLI がそのリポジトリ内では使えなくなることが挙げられる。
どうにかして回避したいと思い調べたので一旦の解決策を備忘として書いた。