1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【PR-Agent】GitHubのプルリクエストをAIにレビューしてもらう(PR-Agent Pro💎)

Last updated at Posted at 2024-12-09

PR-Agent Pro💎を使って、AIにレビューをしてもらおう編です!
概要と特徴を説明し、GitHub Appを使った導入方法を解説します!
また、日本語対応の設定方法についても紹介します。
14日間無料トライアル(クレジット登録不要)が出来るので、もし興味があればぜひ試してみてください!

PR-Agentとは?

  • プルリクエストやレビュー作業を効率化するための AI ツールの1つ
  • 2024/09/30に名称変更があり、Qodoという名称に変更されました

AIレビューの他サービス比較

_PR-Agentを使ってみた。.png

PR-Agentで出来ることって?

代表的な機能は4つあります。
1. PRの説明文自動生成
PRの説明文(名前、タイプ、概要、コード・ウォークスルーなど)を自動生成する
2. PRレビュー機能
レビューにかかる推定労力[1-5]や、セキュリティ上の懸念、重要なポイントについてのフィードバックを提供する
3. コードの改善提案
プルリクエストを改善するためのコードの変更提案を実施する
4. 質問への回答機能
プルリクエストに関する質問をAIに投げかけ、フィードバックやアドバイスを得ることができる

1. PR説明文の自動生成 (/describe

コマンドは、/describeです。
プルリクエストの変更内容を要約し、概要を自動生成してくれます。
スクリーンショット 2024-10-22 19.16.11.png

2. PRレビュー機能 (/review

コマンドは、/reviewです。
コードの品質を評価し、問題点を指摘してくれます。
主に以下4つの項目が評価ポイントになっています。

  • レビューの推定労力(1-5のスケール)
  • 関連するテストの提案
  • セキュリティ上の懸念点
  • 重要なポイント
    image (1).png

3. コードの改善提案 (/improve

コマンドは、/improveです。
プルリクエストで追加・変更されたコードの改善点を提案してくれます。
スクリーンショット 2024-10-23 20.21.02.png

4. 質問への回答機能 (/ask

プルリクエスト上で AI とコメント形式で対話し、PRに関する質問や疑問を解消することができます。
/ask {聞きたいこと}といった感じで聞けばOKです。
スクリーンショット 2024-10-22 20.55.40.png
日本語で説明して欲しい場合は、「最後に日本語で説明してください」と加えない限り、全て英語で返ってきます。
また、毎度会話がリセットされてしまうため、常に初めまして状態の人と会話することになります。

導入方法

今回の記事では、サブスクのPR-Agent Pro💎(現:Qodo Merge Pro)利用する方法(GitHub App利用)を紹介していきますが、導入方法としては、主に以下2パターンあります。

  • OpenAI API キーを使用しGitHubActionsを介して利用する方法
  • サブスクのPR-Agent Pro💎(現:Qodo Merge Pro)利用する方法(GitHub App利用

image.png

1つ目の方法に関しては、以下記事で紹介しているのでぜひ参考にしてみてください!
【PR-Agent】GitHubのプルリクエストをAIにレビューしてもらう(GitHubActions編)

早速入れてみよう!

  1. 以下にアクセスし、好きな方法で、Sign inを完了してください
    https://app.qodo.ai/signin
    スクリーンショット 2024-12-03 19.34.45.png

  2. Qodo Mergeというタブを開き、step1から順に設定していきます
    スクリーンショット 2024-12-03 19.37.48.png

  3. Step 1 (For all users) では、Githubアイコン(Connect)をクリックします

  4. Step 2では、GitHub settingsをクリックし、以下画面のinstallボタンをクリックします。個人用アカウントにinstallするのか、紐づいている会社のアカウントにinstallするのか選択することができます。installしたいアカウントを選択してください

スクリーンショット 2024-12-07 18.11.53.png

  1. 次に、全てのリポジトリに適用もしくは、適用したいリポジトリを選ぶことができます
    スクリーンショット 2024-12-03 19.41.54.png

  2. ここまで出来たら設定は終わりです!

  3. 試しにプルリクストを作成してみて、実際に適用されているか確認してみましょう!:sparkles::sparkles:

以下のようにqodo-merge-proが動いてたら、適用できています:relaxed:
スクリーンショット 2024-12-07 18.21.13.png

現在は英語で出力されてしまっているかと思うので、
次の章では、日本語で設定する方法を説明していきます!

日本語に設定する方法

  1. リポジトリのwikiでNew Pageボタンをクリックし、.pr_agent.tomlファイルを作成してください
    wikiがリポジトリにない場合は、リポジトリの :gear: Settingsから追加することができます。
[pr_reviewer] # /review #
extra_instructions = "Please use Japanese in descriptions."

[pr_description] # /describe #
publish_labels = false
enable_pr_type = false
extra_instructions = "Please use Japanese in descriptions."

[pr_code_suggestions] # /improve #
extra_instructions = "Answer in japanese"

[pr_add_docs] # /add_docs #
extra_instructions = "Answer in japanese"

[pr_update_changelog] # /update_changelog #
extra_instructions = "Answer in japanese"

[pr_test] # /test #
extra_instructions = "Answer in japanese"

設定した項目の解説

  • extra_instructions
    • 追加の指示を加えるための設定項目です。
      日本語で対応して欲しかったので「日本語で記述してください」と設定しています。
  • enable_pr_type
    • 以下項目をプルリクエストの説明文に設けるかどうかの設定です。必要なかったのでfalseで設定しています。スクリーンショット 2024-12-07 18.37.07.png
  • publish_labels
    • 自動で生成されるラベルのことです。必要なかったので、falseに設定しています。スクリーンショット 2024-12-07 18.38.26.png

自動的に実行されるコマンドの修正もできます。
デフォルトでは、プルリクエストの作成時に/describe/reviewimproveが実行されますが、/describe/improveのみ実行といったようにカスタマイズすることができます。

以下例:

[github_app]
pr_commands = [
    "/describe --pr_description.final_update_message=false",
    "/review --pr_reviewer.num_code_suggestions=0",
    "/improve",
    "/review auto_approve"
]

その他にもreview_effortが1以下のプルリクエストに関しては自動Approveできるように設定したり、色々カスタマイズすることもできるので、詳しい設定は、以下をご参照ください:sparkles:
https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml

サブスク利用のPR-Agentのみで使える特別機能

無料利用では利用できない、サブスク課金者限定機能もあるので、ぜひお試し期間中に利用してみてください!
_PR-Agentを使ってみた。 (1).png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?