■ はじめに
https://dk521123.hatenablog.com/entry/2024/04/13/232832
で、はじめ、 環境変数「REVIEWDOG_GITHUB_API_TOKEN」を設定する際に Tokenを発行していたが、「GITHUB_TOKEN シークレット」 というものを知ったのでメモ。 また、permissionsについても分かったので、それもメモ。
目次
【1】GITHUB_TOKEN シークレット 【2】GITHUB_TOKEN シークレット の参照 【3】permissions 【4】GITHUB_TOKEN シークレット の利点 【5】サンプル
【1】GITHUB_TOKEN シークレット
より抜粋 ~~~~~~~~~~~~~~ 各ワークフロー ジョブの開始時に、GitHub によって、 ワークフローで使用する一意の GITHUB_TOKEN シークレットが自動的に作成 ・・・略・・・ ジョブが終了するか最大 24 時間後に、GITHUB_TOKEN の有効期限が切れます。 ~~~~~~~~~~~~~~
【2】GITHUB_TOKEN シークレット の参照
* ${{ secrets.GITHUB_TOKEN }} によって参照する
steps: env: REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
【3】permissions
* permissions によって GITHUB_TOKEN に付与されたアクセス権限を指定する
例
jobs: demo-pull-request: runs-on: ubuntu-latest # ★この部分 permissions: contents: read pull-requests: write # https://docs.github.com/ja/enterprise-cloud@latest/actions/using-jobs/assigning-permissions-to-jobs#defining-access-for-the-github_token-scopes # permissions: read-all # permissions: write-all
permissions | Explanations |
---|---|
actions | GitHub Actions操作 |
checks | チェック実行とチェック スイートを操作 |
contents | リポジトリの内容を操作 |
deployments | デプロイを操作 |
id-token | OpenID Connect (OIDC) トークンをフェッチ |
issues | イシューを操作 |
discussions | GitHub Discussions を操作 |
packages | GitHub Packages を操作 |
pages | GitHub Pages を操作 |
pull-requests | pull request を操作 |
repository-projects | GitHub プロジェクト (クラシック) を操作 |
security-events | GitHub コード スキャンと Dependabot アラートを操作 |
statuses | コミットの状態を操作 |
【4】GITHUB_TOKEN シークレット の利点
* 「PAT(Personal Access Tokens)」と比べて、以下の利点がある ~~~~~~~ [1] Tokenの有効期限は、その時限りなのでローテーションなど気にしなくていい [2] ユーザが離脱するなど考えなくていい [3] 権限操作がWorkflowごとで可能 ~~~~~~~
【5】サンプル
name: Open new issue on: workflow_dispatch jobs: open-issue: runs-on: ubuntu-latest permissions: contents: read issues: write steps: - run: | gh issue --repo ${{ github.repository }} \ create --title "Issue title" --body "Issue body" env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
関連記事
Github ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/07/18/234652
Github Actions ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/04/142835
Github Actions ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/06/16/151443
Github Actions ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/12/22/195715
Github Actions ~ pull_request / pull_request_target ~
https://dk521123.hatenablog.com/entry/2024/04/10/152101
reviewdog ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2024/04/13/232832