Skip to main content

Command Palette

Search for a command to run...

Cloud Agents

PR のルーティングと承認

PR のルーティングと承認では、プルリクエストを適切なレビュアーに振り分け、低リスクの変更を承認できます。

自動化で PR のルーティングと承認を設定します。

仕組み

PR のルーティングと承認は、プルリクエストに対して実行されます。コードの所有者とコミット履歴に基づいてレビュー担当者を割り当て、条件を満たす低リスクの PR を承認できます。

完全なコードレビューに代わるものではありません。リスクスコアリング、承認ポリシーファイル、AI レビューエージェントの検出結果、設定に基づいて、ルーティングまたは承認するかどうかを判断します。

主な機能

レビュアーの割り当て

PR のルーティングと承認では、コードの所有者とコミット履歴に基づいて、プルリクエストにレビュアーを割り当てることができます。

レビュアーの割り当てでは、エージェントがレビュアーに確認を依頼する条件を指定します。エージェントは、適用されるポリシーファイル、リスク設定、AI レビュアーの検出結果、現在のレビュー状態も考慮します。

リスクに基づく承認

PR のルーティングと承認では、承認基準を満たす低リスクのプルリクエストを承認できます。

承認基準では、エージェントが承認する前に PR が満たすべき条件を定義します。エージェントは、適用されるポリシーファイル、リスク設定、AI レビュアーの検出結果、現在のレビュー状態も考慮します。

主な機能

AI レビュアーの認識

PR のルーティングと承認では、他の Cherri Code レビューシステムの検出結果を利用できます。

  • Bugbot Review Context は、Bugbot の検出結果を承認の判断に使用します。
  • Security Review Context は、セキュリティエージェントの検出結果を承認の判断に使用します。

これらのコンテキストが有効な場合、エージェントは関連するエージェント型レビュアーのチェックが完了するのを待ち、その検出結果を承認の判断材料として使用します。

Bugbot またはセキュリティエージェントが人によるレビューが必要な検出結果を報告した場合、PR のルーティングと承認は PR を承認しません。

リスクスコアリング

PR のルーティングと承認では、PR のリスクを分類し、承認可能なリスクの上限を設定できます。

  • リスクスコアを使用を有効にすると、リスク分類を使用できます。プロンプトでさらにカスタマイズすることも可能です。
  • 最大リスクしきい値では、エージェントが承認できるリスクレベルの上限を設定します。

PR が設定したしきい値を超えた場合、エージェントは承認しません。

承認ポリシーファイル

PR Routing & Approval は、リポジトリ内のポリシーファイルを検出し、承認の判断前に適用できます。

変更された各ファイルについて、エージェントはそのファイルのディレクトリとすべての親ディレクトリで、次の完全一致のファイル名を探します。

APPROVAL_POLICY.md

ベース名が完全に一致するファイルのみが対象です。POLICY.md、approval_policy.md、APPROVAL_POLICY.md.bak、team_APPROVAL_POLICY.md などのファイルは、ディレクトリポリシーの検出時に無視されます。

あるディレクトリ配下のファイルには、該当する APPROVAL_POLICY.md のうち最も近いものが最優先で適用されます。祖先ディレクトリのポリシーも、より具体的なポリシーと競合しない限り適用されます。

ルーティングポリシー

PR Routing & Approval は、トップレベルのルーティングファイルも確認します。

.cursor/approval-policies/ROUTING.md

ROUTING.md は、製品エントリからなる YAML リストです。各エントリには以下が含まれます。

  • product:製品または領域の名前。
  • boundary:セマンティックな境界、または明示的に指定したリポジトリ相対パスや glob。
  • policies:ポリシープロンプトへの参照。明示的なファイルパスまたはセマンティックな説明で指定します。

ROUTING.md がない場合でも、ディレクトリベースの APPROVAL_POLICY.md 検出は実行されます。ルーティングがなくても、ポリシー検出の精度が低下することはありません。

ポリシーの優先順位

適用される承認ポリシーのプロンプトは、一般的な承認基準、リスクしきい値、レビュー担当者の選択に関するガイダンス、カスタム承認指示、デフォルトの自動レビュー方針よりも優先されます。

ポリシーが競合する場合、エージェントは最も具体的なポリシーに従います。具体性が不明な場合は、より厳格な指示に従い、自動承認を行いません。

PR で承認ポリシー、ルーティングファイル、ルーティング先のポリシーファイル、またはレビュー担当者固有のポリシーファイルが変更された場合、エージェントは同じ PR のレビュー要件を緩和するために変更後の内容を使用しません。ベースブランチのバージョンが利用可能な場合はそれを使用し、ベースバージョンを特定できない場合は人によるレビューを必要とします。

セットアップ

自動化の PR のルーティングと承認を開いて設定します。

ルーティングと承認を有効にする

必要な機能をオンにします。

  • PR Routing and Requests for Review を有効にする:コードの所有者とコミット履歴に基づいてレビュアーを割り当てます。
  • PR を自動承認する:承認基準を設定すると、低リスクの PR を自動的に承認します。

エージェントを実行する組織とリポジトリを選択します。

トリガーを設定する

トリガーは、エージェントを実行するタイミングを決定します。PR のルーティングと承認では、次のプルリクエストイベントをサポートしています。

  • PR opened:プルリクエストが作成されたときにエージェントを実行します。
  • PR pushed / updated:既存の PR に新しいコミットがプッシュされたときにエージェントを実行します。
  • PR commented:既存の PR に正規表現に一致するコメントが投稿されたときにエージェントを実行します。

トリガーは、リポジトリまたは組織に限定できます。チームが所有するリポジトリでは、チーム管理者がより広いチームの対象範囲を設定できます。

レビューシグナルを設定する

設定で、エージェントが使用するシグナルを選択します。

  • Bugbot Review Context を使用
  • Security Review Context を使用
  • Risk Score を使用
  • 承認の最大リスク

これらのシグナルを使用して、承認前に AI reviewer の出力、セキュリティの検出結果、リスクしきい値をエージェントが考慮するかどうかを決定します。

承認ルールをカスタマイズする

Custom Prompt を使用して、チームの承認基準を追加できます。ローカルでの確認方針、承認しても安全な PR の例、担当者による確認が必要なケースを記述できます。

該当するファイルでは、ポリシーファイルが引き続きカスタムプロンプトより優先されます。

カスタムプロンプトが設定されていない場合、エージェントは Cherri Code 管理のデフォルト基準を使用します。

ツールとMCPを設定する

エージェントでは、少なくとも1つの主要アクションを有効にする必要があります。

  • レビュアーをリクエスト
  • PRを承認

任意で、次の連携を追加できます。

  • Slack 通知
  • Microsoft Teams 通知
  • 追加のツールにアクセスするためのMCPサーバー

カスタムプロンプトを使用して、エージェントによるMCPツールの使用方法を指定します。

保存して有効にする

設定後、エージェントを保存します。既存のエージェントは詳細ページから有効または無効にできます。

Team プランでは、すべてのチームメンバーが PR のルーティングと承認を作成・編集できます。エンタープライズプランでは、チーム管理者のみが編集でき、その他のメンバーは閲覧のみ可能です。