🤖

ai-pr-reviewer(旧openai-pr-reviewer) を使ってAIにレビューを手伝ってもらう - とりあえず動かしてみた

2023/07/24に公開

openai-pr-reviewer とは?

https://github.com/coderabbitai/openai-pr-reviewer
GitHubでChatGPTがPullRequestをレビューしてくれます。
以下の機能が備わっています。次回の記事で機能単位で掘り下げて紹介したいと思います。

  • 修正行ごとの変更提案
  • 使用するChatGPTのModelを選択可能
  • ボットとのチャット
  • レビューが不要な場合はスキップ可能
  • プロンプトはカスタマイズ可能

2023-07-31 追記
次の記事を公開しました。
https://zenn.dev/egstock_inc/articles/b0e9626dd385ba

設定

リポジトリへの設定

  • .github/workflowsopenai-review.ymlを追加
name: OpenAI Reviewer

permissions:
  contents: read
  pull-requests: write

on:
  pull_request:
  pull_request_review_comment:
    types: [created]

concurrency:
  group:
    ${{ github.repository }}-${{ github.event.number || github.head_ref ||
    github.sha }}-${{ github.workflow }}-${{ github.event_name ==
    'pull_request_review_comment' && 'pr_comment' || 'pr' }}
  cancel-in-progress: ${{ github.event_name != 'pull_request_review_comment' }}

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: fluxninja/openai-pr-reviewer@latest
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
        with:
          debug: false
          review_simple_changes: false
          review_comment_lgtm: false

OPENAI_API_KEYを登録

OpenAIのAPIkeyを発行します。

GitHubのリポジトリでSettings->Seacrets and variables->Actionsに遷移し、New repository secretボタンを押します。

Name : OPENAI_API_KEY
Secret : 先ほど発行したOpenAIのsecret key
をそれぞれ入力します。

これで準備完了です。

PullRequestを作成してみる

    public function test():int {
        $a = 0;
        $a = 1;

        return $a;
    }

こんな関数を書いてPullRequestを作成。

openai-pr-reviewerが自動で実行され、約1分20秒で終了しました。

良さそう!

感想

レビュアーの負担軽減や品質向上が期待できそうです。
少し使ってみてコメントの精度を確認したいと思います。

EGSTOCK,Inc.

Discussion