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

おもととなる記事

今回やりたいのが「組織内のプライベートレポで共通して使えるようにする」みたいな目的なので、多分この辺も使う

「インストールアクセストークン」なる概念が出てくる。これを使えば良いのかな?

ひとまず、APP IDとPrivate Keyはこんな感じでセット

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

not found になった!なんかミスってるっぽい

repositoryを指定しなかったら通ったな

初歩的なミス!
owner
と repositories
を別々に指定するようなツールだと、 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

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