GitHub Actions で ChatGPT を使ってプルリクの要約とレビューをしてみる
はじめに
まず、ChatGPT を使ったプルリクで実現したかったことは…
レビューをしてもらいたくなるような仕組みを作りたかった
からです。
プルリクを出して、レビューを受けるのはソフトウェアの開発では非常に良いことだと思いますが、レビュアーのレビュー内容によっては凹んでしまう内容もあると思います。
それを少しでも緩和するために、優しい言葉で AI に指摘された方がかなり楽です。
一人壁打ちもできます。
Auto Review by OpenAI
自動レビューは GitHub Actions を利用します。
レビュー内容は以下のようにプルリクのコメントとして投稿されます。
実装方法
単純にレビューをするだけであれば、以下のようなワークフローを .github/workflows
に配置するだけです。
ただし、このアクションは OpenAI の API を利用しますので、API キーの発行が必要になります。
事前に OpenAI の API キーを secrets.OPENAI_API_KEY
に設定しておくだけです。
target
にはカンマ区切りでレビュー対象のファイルの拡張子を書きます。
language
にはレビューで投稿される言語をしていしますが、デフォルトでは英語になっているため、日本語
を指定しています。
name: PR Review
on:
pull_request:
types: [ opened, synchronize ]
jobs:
Build:
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v3
- uses: akiojin/auto-review-github-action@v0.2.1
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
target: 'cs,yml'
language: 日本語
OpenAI の API キーの作成方法
上記サイトの右上にある「Personal > View API keys」をクリックして、APIキーのリストを表示します。
次に、「Create new secret key」を選択し、新しいAPIキーを作成します。
「Name」に適当な名前を入力し、「Create secret key」を選択して鍵を作成します。
作成したAPIキーをコピーします。
コピーしたAPIキーをOPENAI_API_KEY
のようなわかりやすい名前でシークレット変数に設定します。
さいごに
まだまだ、改善の余地はあると思いますが、目的である「レビューをしてもらいたくなるような仕組みを作りたかった」にはかなり近づけているのではないかと思います。