GitHub ActionsでGitHub Appsを使った別リポジトリへのアクセス

あるGitHubリポジトリで動作しているGitHub Actionsから,別のリポジトリにあるソースコードにアクセスしたいことがある. いくつかある方法のうちに1つに,GitHub Appsを使ってアクセストークンの管理を行うものがある. 今回はGitHubが公式で提供する actions/create-github-app-token を使いアクセス許可を設定した.

設定ファイルの抜粋:

jobs:
  deploy:
    runs-on: ubuntu-latest
    env:
      LANG: "ja_JP.UTF-8"
    steps:
      - uses: actions/create-github-app-token@v1
        id: app-token
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.PRIVATE_KEY }}
          owner: ${{ github.repository_owner }}
          repositories: "hoge,fuga"  # tomoyk/hoge , tomoyk/fuga
      - uses: actions/checkout@v4
        with:
          token: ${{ steps.app-token.outputs.token }}
          ref: ${{ github.head_ref }}
          persist-credentials: false
          submodules: recursive
          fetch-depth: 10

参考資料: