この記事は、GitHub Actions Advent Calendar 2023 の21日目です。
この記事はGitHub Actionsを作成する基礎的な知識があることを前提にしています。
GitHub Actionsを作成しているときに、トークンが必要なこと (PRに書き込むなど) をしたいと思うことは少なくないはず。
そんなときにトークンを取得しようと思っても、JavaScript ActionやDocker Actionなどからは直接Secretsにアクセスすることができません。
というわけで、結論。
inputでトークンを受け取る
inputではデフォルト値を設定することができます。なので、デフォルト値としてSecretsから取得したGitHubトークンを与えればよいのです。
action.yaml
inputs:
github_token:
description: Token with issue write permission. Do not specify this.
required: false
default: ${{ github.token }}
これでトークンを受け取ることができます。意図しない値が設定されることを避けるため、説明には「設定するなよ」と書いておきましょう。
JavaScript Actionでトークンを受け取る例です。
const core = require('@actions/core');
const token = core.getInput('github_token');