0
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?

誰にレビューしてもらうかAIで判定。CodeRabbitのSuggested Reviewers Instructionsの紹介

0
Posted at

CodeRabbitはAIコードレビューサービスです。GitHubやGitLabなどと連携し、PRを自動的にコードレビューします。VS Code機能拡張やCLIも提供しており、こちらは無料で利用できます。パブリックなリポジトリであれば、CodeRabbitを無料で利用できます。

最近新しくリリースした機能Suggested Reviewers Instructionsを紹介します。これは、レビュアーを推薦してくれる機能ですが、その推薦方法を自然言語で書けるのが特徴です。

一般的なレビュアー割り当て方法

GitHubでは、レビュアーを自動割り当てしてくれる機能があります。

チームのコードレビュー設定を管理する - GitHubドキュメント

このときのアルゴリズムは2つあります。

  1. ラウンドロビンアルゴリズム
  2. ロードバランスアルゴリズム

ラウンドロビンは単純に順番に割り当て、ロードバランスはレビューリクエスト数を考慮した割り当てとなっています。

ただ、いずれにしても機械的であり、自分に適していないレビューを回されても困るという現実もあります。モノレポ構成の場合、バックエンドエンジニアがフロントエンドのレビューに回される場合もあるでしょう。

Suggested Reviewers Instructionsについて

Suggested Reviewers Instructionsは、コード変更の内容に基づいてレビュアーを自動的に割り当てるルールを定義できる機能です。PRに定義された基準へ合致する操作や機能、またはフローが含まれている場合に、適切なレビュアーグループを自動的に割り当てます。

設定は、以下のような形になります。

reviews:
  suggested_reviewers: true
  auto_assign_reviewers: true
  suggested_reviewers_instructions:
    - reviewers:
        - handle: security-team
          type: group
        - handle: octocat
          type: user
      instructions: "PRで認証、暗号化、またはアクセス制御のロジックが変更された場合に割り当てる。"
    - reviewers:
        - handle: infra-team
          type: group
      instructions: "PRでCI/CDパイプラインの設定を変更した際に割り当てる。"

上記は例です。たとえばパッケージマネージャの更新、特定の業務システムなど自由に記述ができます。そうした割り当てルールを自然言語で書けるのが便利です。

条件

利用する際には、幾つかの条件があります。

  • GitHub向けの機能です
  • suggested_reviewersauto_assign_reviewers が有効になっていること
  • 執筆現在はプレビュー機能です
  • 自然言語で書けるのは3,000文字まで

まとめ

適切な人がレビューに割り当てられれば、よりスムーズな開発が可能になります。グループに割り当てるようにすれば、複数人での作業分担も可能になるでしょう。

ぜひ活用してください!

Custom reviewer rules - CodeRabbit Documentation

0
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
0
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?