Open2

GitHubトークンをGithubAppを利用して取得する方法

eisukeeisuke

まずはデベロッパーセッティングからAppの作成

適当な名前とそのrepositoryのURLを書き込む。

今回はウェブホックを利用しないのでActiveのチェックを外す。

レポジトリパーミッションの設定。
PRにコメントしたりコードの内容を読み込む権限などを付与できる。
利用用途に合った設定を。。。

Appの作成は取り合えずここまで。

AppIDを控えておく。

レポジトリの置いてある自分のアカウントかオーガニゼーションにインストールしなければならない。

Generalに戻りプライベートキーの発行。
秘密鍵のダウンロードが始まる。

ダウンロードし終えたらメモ帳などで開き全てコピーする。
これがプライベートキーとなる。

eisukeeisuke
jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - name: Generate token
        id: generate_token
        uses: tibdex/github-app-token@v1
        with:
          app_id: ${{ secrets.APP_ID }}
          private_key: ${{ secrets.PRIVATE_KEY }}

先ほど取得したAPP IDとPRIVATE_KEYをシークレットに挿入してもらうとトークンが生成されます。

呼び出し方はこちらになります。

 - name: Reviewer
        uses: coderabbitai/openai-pr-reviewer@9ac127d9e21d898c665f3a7cf12229e5908149d5 # https://github.com/coderabbitai/openai-pr-reviewer/releases/tag/0.60.0 # 好きに変更して
        env:
          GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}<--このような形にして呼び出すことができる!
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
        with:
          debug: false
          review_simple_changes: false

steps.generate_token.outputs.tokenという変数にトークが保持される。