pullRequestApprovalActive、デフォルトはオフ)。Kody は Git プロバイダーのレビュー機能を通じて承認します。マージは行いません。
Kody が承認するタイミング
Kody は次のいずれかのタイミングで PR を承認します:- クリーンなレビューの後。 レビューがサジェストを投稿せず、どのステップも失敗しなかった場合です。PR サマリーの生成失敗だけは承認を妨げません。
- Kody のコメントが解決された後。 Kody は 2 分ごとに、過去 7 日間にレビューしたオープンな PR を確認し、Kody が残したコメントがすべて解決済みの PR を承認します。
@kody -v <agent> で開始した実行はそのカスタムエージェントだけを実行するため、承認は行いません。
条件付き承認(Beta)
Teams と Enterprise プランで、ベータアクセスがある場合に利用できます。条件は Automatic PR approval の下に表示され、他の設定と同様に Global、Repository、Directory のスコープで設定できます。条件は Kody の最後のレビュー以降のコミットだけでなく、PR 全体に適用されます。どの PR を自動承認できるか
デフォルトでは、すべての PR が対象です。絞り込むには:- PR labels(
approvalLabels):PR にこれらのラベルのいずれかが付いている必要があります。 - PR authors(
approvalAuthors):PR がこれらのプロバイダーログインのいずれかによって作成されている必要があります。
人による承認が必要になるのはいつか
- Paths requiring human approval(
approvalSensitivePaths):src/auth/**のような glob パターン(最大 100 件)。変更されたファイルのいずれかが一致すると、Kody は承認を保留します。リネームされたファイルは、旧パスと新パスの両方で判定されます。 - Assess PR risk(
approvalRiskActive):Kody は低リスクと評価した PR だけを承認します。リスク評価を参照してください。 - Additional team guidance(
approvalRiskInstructions):Assess PR risk をオンにすると表示されます。評価に加えるコンテキストを最大 4,000 文字まで記述できます。例:決済のリトライ処理の変更は人が承認すること。
リスク評価
Kody はコードレビューに使うモデル(BYOK モデルを設定している場合はそのモデル)で評価を行います。PR の差分全体(最大 50,000 文字)、タイトルと説明、チームのガイダンス、そして変更された各ファイルとディレクトリの履歴(それを変更したマージ済み PR の数と、そのうちバグを修正した PR の数)を読み取ります。 マージ済み PR は、bug、defect、regression のラベルが付いた issue をクローズする場合、またはタイトルに fix、bug、regression、hotfix が含まれる場合に、バグ修正として数えられます。Kody はこの履歴を GitHub と GitLab でのみ、バックグラウンドで 2 時間ごとに収集します。最初のスキャンは過去 30 日間を対象とし、その後、履歴は最大 1 年分まで蓄積されます。Cockpit → Code hotspots で確認できます。
承認されるのはリスクが低の場合だけで、中と高の PR は人の判断のために保留されます。Kody は次の場合にも保留します:
- PR がソースファイルの制御フロー(
if、return、throw)を変更し、テストを追加していない場合 - 評価を実行できなかった場合(例:モデルの呼び出しが失敗した)
Assess PR risk をオンにしても、既存の承認は取り消されません。Kody がすでに承認した PR はそのコミットに対する承認を維持し、Kody は次のコミットから評価します。以前にレビューしたものの承認しなかった PR は、次のコミットを待ちます。
Kody が PR に投稿する内容
条件を設定している場合、レビュー終了時のコメントの末尾に Automatic approval eligible または Automatic approval held と理由が表示されます。Kody はこれとは別のコメント(Automatic approval completed または Automatic approval held)を 1 つ維持し、以降のレビューでは新しく投稿せずにそのコメントを編集します。ラベルや作成者のフィルターに一致しない PR には、Kody が以前に承認またはコメントしていない限り、この別コメントは投稿されません。 Kody が承認した PR を後のレビューが保留にした場合(新しいコミットにサジェストが付いた、センシティブなパスを変更した、または PR から承認ラベルが外れた場合など)、Kody は自分の承認を取り消します。人による承認はそのまま残ります。 コメントが投稿されたことを Kody が確認できない場合、Reviews → Pull requests でその PR に Approval note unverified が表示され、Kody が投稿しようとした理由も確認できます。PR のコメントとリポジトリ連携の権限を確認してください。組織がベータアクセスを失った場合や Teams・Enterprise プランでなくなった場合も、保存済みの条件は承認を保留し続けます。Kody がクリーンな PR をすべて承認する動作に戻ることはありません。このとき Code review → General には Saved conditions are holding automatic approval と Clear saved conditions ボタンが表示されます。