CodeOwner レビューモードでは、特定のファイルまたはファイルタイプの所有者を指定して、コードレビューとマージリクエストのレビュアーを自動的に割り当てることができます。
コードレビューモード
CodeOwner レビューモードでは、CODEOWNERS ファイルを使用して、各ファイルまたはモジュールの所有者を定義します。このファイルは、ブランチのルートディレクトリに配置します。CodeOwner レビューを有効にすると、システムはターゲットブランチ内の CODEOWNERS ファイルに基づいてレビュアーを自動的に照合します。
-
ファイルの所有者が 1 人のみの場合、その所有者が変更を承認する必要があります。
-
ファイルの所有者が A、B、C など複数いる場合は、そのうち 1 人の承認で十分です。システムは、該当する所有者をレビュアーリストに自動的に追加します。
-
一致する所有者が見つからない場合は、少なくとも 1 人によるレビューが必要です。複数のパターンがファイルパスに一致する場合は、CODEOWNERS ファイル内で最後に一致したパターンが優先されます。
例として、CODEOWNERS ファイルで次のパスが定義されているとします:
f.txt matches the ** @user1 rule
aa/f.txt matches the aa/** @user2 rule
aa/mm/f.txt matches the aa/mm/** @user3 rule
bb/f.txt matches the bb/** @user4 rule
各ファイルは最も適切なルールに一致するため、レビュープロセスがより効率的かつ正確になります。
リポジトリの [Branch Settings] ページで、feature/sensitive_scan などのターゲットの保護されたブランチを選択し、保護ルールを変更します。ダイアログボックスで、[Require code review before merging] をオンにし、[Require all comments to be resolved] を選択して、レビューモードを CodeOwner に設定します。
CODEOWNERS ファイル内のパスでは、Linux の find コマンドや Git の .gitignore ルールと同様に、glob パターンを使用します。所有者を指定するには @username のフォーマットを使用します。ここで username は、ユーザーの検証済みプライマリーメールアドレスです。プライマリーメールアドレスを表示するには、 に移動します。
[Personal Settings] ページで、左側のナビゲーションペインから [Personal Information] を選択します。[Email] セクションで、[Primary Email] と表示されているアドレスが、検証済みプライマリーメールアドレスです。
例:
# これはコメント行です。以降の行は設定エントリで、1 行につき 1 つです。
# パスパターンの後には、1 人以上の所有者を指定する必要があります。
# すべてのファイルの CodeOwner としてユーザー A@example.com と B@example.com を割り当てます。
** @A@example.com @B@example.com
# すべての .java ファイルの CodeOwner としてユーザー C@example.com を割り当てます。
**.java @C@example.com
# force-api/ ディレクトリ内のファイルの CodeOwner としてユーザー D@example.com と E@example.com を割り当てます。
force-api/** @D@example.com @E@example.com
# force-base/src/main/java/ ディレクトリ内のファイルの CodeOwner としてユーザー F@example.com を割り当てます。
force-base/src/main/java/** @F@example.com