Open9

GitHub Actions上でGitHub Apps由来のトークンを使う

Hideki KinjyoHideki Kinjyo

tokenの生成はこんな感じに

    steps:
      - name: Generate installation access token
        uses: actions/create-github-app-token@v1
        id: generate_token
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.APP_PRIVATE_KEY }}
          owner: ${{ github.repository_owner }}
          repositories:
            - o0h/private-repo-A
            - o0h/private-repo-B
Hideki KinjyoHideki Kinjyo

初歩的なミス!
ownerrepositories を別々に指定するようなツールだと、 o0h/private-repo-A みたいな指定はせずにowner部分を外すのが正解だよねぇという感じ

    steps:
      - name: Generate installation access token
        uses: actions/create-github-app-token@v1
        id: generate_token
        with:
          app-id: ${{ secrets.APP_ID }}
          private-key: ${{ secrets.APP_PRIVATE_KEY }}
          owner: ${{ github.repository_owner }}
          repositories:
            - private-repo-A
            - private-repo-B
Hideki KinjyoHideki Kinjyo

tokenを使ってチェックアウト

      - name: Checkout private-repo-A
        uses: actions/checkout@v3
        with:
          repository: o0h/private-repo-A
          token: ${{ steps.generate_token.outputs.token }}
          persist-credentials: false