ChatGPT CodeReviewでコードレビューを自動化してみた

この記事で出来ること

  • PRを送信したときなどに、ChatGPTを使って自動でコードレビューしてもらえる

ChatGPT CodeReviewとは?

  • Githubに対してChatGPTを用いてコードレビューを自動で行ってくれる。

  • botモードとworkflowで動作するモードの2通りを使用することが出来る。

    • botモード

      • 設定が容易なのでお試しで導入しやすい

      • 設定値の変更が出来ないので、カスタマイズ性に乏しい

    • workflowモード

      • 設定値を変更出来る。

        • コードレビューする言語(日本語、英語、中国語、、、)

        • 使用するLLM(GPT-4、GPT-3.5 Turbo、、、)

      • github workflowに対しての知識が多少必要。

準備

OpenAIのアカウントを登録する

  • こちらのログインページから"Sign up"を選択

サインアップ画面へのリンク
  • メールアドレスか、Google, Microsoft, Appleのアカウントで登録。

  • 聞かれたことを入力していくとアカウントが作成される。

課金する

ChatGPT CodeReviewではAPIを使用するので、APIへの課金が必要。
※ChatGPT Plusへの課金とは別のもの。

  • アカウントが登録出来たら、Payment methodsの設定画面でクレジットカードを登録する。

支払い方法追加
残高追加
  • 最初は$10くらいチャージしておけば良いでしょう。

APIキーを取得する

APIキー新規作成
  • キーを登録する。

  • 何用のキーなのかわかりやすいように"ChatGPT CodeReview"などの名前をつけておけば良いでしょう。

  • 作成したAPIキーはこの後使用するので、どこかにメモっておく。

botモードでChatGPT CodeReviewを導入する

リポジトリの変数にAPIキーをセットする

  • Githubの Setting > Secrets And Variables > Actions > Variablesで、Repository VariablesにOpen AIのAPIキーを追加する。

  • Repostiroy Variableのキー名は"OPENAI_API_KEY"

GithubにChatGPT CodeReviewをインストールする

  • こちらのリンクから、GithubにChatGPT CodeReviewをインストールする。

  • インストール先は、organization内の全リポジトリ、もしくは特定のリポジトリを選択可能。

動かしてみる

  • PRを作成すると、自動でコードレビューしてくれる。

workflowでChatGPT CodeReviewを導入する

リポジトリのシークレットにAPIキーをセットする

  • Githubの Setting > Secrets And Variables > Actions > Secretsで、Repository SecretsにOpen AIのAPIキーを追加する。

  • Repostiroy Secretのキー名は"OPENAI_API_KEY"

設定ファイルを記述する

  • 動作させたいリポジトリの.github/workflows/cr.ymlにworkflowの設定を記述する。

    • ※ファイル名は任意

name: Code Review

permissions:
  contents: read
  pull-requests: write

on:
  pull_request:
    types: [opened, reopened, synchronize]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: anc95/ChatGPT-CodeReview@main
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
          # Optional
          LANGUAGE: Japanese # 言語
          OPENAI_API_ENDPOINT: https://api.openai.com/v1
          MODEL: gpt-4 # 使用するモデル
          top_p: 1
          temperature: 1

動かしてみる

  • workflowの設定ファイルが適用されたブランチに対しPRを作成すると、自動でコードレビューしてくれる。

この記事が気に入ったらサポートをしてみませんか?