マージリクエストの承認
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
プロジェクトの変更に対するレビュープロセスを設定するには、マージリクエストの承認を設定します。これにより、変更がプロジェクトにマージされる前にレビューされるようになります。プロジェクトのニーズとGitLabのプランに応じて、承認をオプションまたは必須に設定できます。
GitLab Freeでは、デベロッパー以上のロールを持つすべてのユーザーが、マージリクエストを承認できます。これらの承認はオプションであり、承認なしにマージすることも可能です。
GitLab PremiumとGitLab Ultimateでは、次の点でより柔軟に対応できます:
必要な承認の数と種類に関する必須ルールを作成する。
特定のファイルのコードオーナーのリストを作成する。
インスタンス全体の承認を設定する。
グループマージリクエスト承認の設定を設定する。
グループのマージリクエスト承認の設定のサポートは、エピック4367で追跡されます。
承認ルールを設定する
前提要件:
- プロジェクトのデベロッパーロール以上を持っている必要があります。
承認ルールを設定するには、以下を実行します:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 左側のサイドバーで、設定 > マージリクエストを選択します。
- マージリクエストの承認セクションに移動します。
- 必要なルールを設定します。
次の設定も可能です:
- プロジェクトに必要な監視とセキュリティのレベルをより細かく制御するための、マージリクエストの承認設定。
- マージリクエスト承認APIを使用して、マージリクエスト承認ルールを設定する。
ルール設定の詳細については、承認ルールを参照してください。
必須の承認
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
必須の承認により、指定されたユーザーによるコードレビューを強制できます。これらの承認がなければ、マージはできません。
ユースケースは以下のとおりです:
- リポジトリにマージされるすべてのコードのレビューを強制する。
- レビュアーと最小承認数を指定する。
- バックエンド、フロントエンド、品質保証、データベース、ドキュメントなどのレビュアーのカテゴリを指定する。
- コードオーナーファイルを使用して、レビュアーを決定する。
- テストカバレッジの低下に対する承認を要求する。
- GitLab Ultimate: 潜在的な脆弱性に対して、セキュリティチームの承認を要求する。
承認ステータスを表示する
マージリクエストの承認ステータスを表示するには、マージリクエスト自体、またはプロジェクトまたはグループのマージリクエストのリストを確認してください。
単一のマージリクエストの場合
適格な承認者は、単一のマージリクエストの承認ステータスを表示できます。
承認ステータスを表示するには、以下を実行します:
左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
左側のサイドバーで、コード > マージリクエストを選択し、マージリクエストを見つけます。
マージリクエストを表示するには、タイトルを選択します。
マージリクエストウィジェットに移動して、承認ステータスを表示します。この例では、マージリクエストを承認できます:
ウィジェットには、次のいずれかのステータスが表示されます:
- 承認する: マージリクエストに追加の承認が必要です。
- 追加で承認する: マージリクエストに必須の承認があります。
- 承認を取り消す: マージリクエストをすでに承認しています。
承認がコードオーナーの要件を満たしているかどうかを確認するには、対象となる承認者情報を展開( )を選択します。
承認者の表示レベルは、プロジェクトのメンバーシップとグループのプライバシーによって異なります:
- プロジェクトのメンバーには、すべての承認者が表示されます。
- プロジェクトのメンバー以外には、以下が表示されます:
- すべての承認者がパブリックグループのメンバーである場合は、すべての承認者が表示されます。
- 承認者のいずれかがプライベートグループのメンバーである場合は、承認者に関する情報は表示されません。
マージリクエストのリスト
プロジェクトまたはグループのマージリクエストのリストには、各マージリクエストの承認ステータスが表示されます:
| 例 | 説明 |
|---|---|
| 必須の承認がありません。( ) | |
| 承認が完了しました。( ) | |
| 承認が完了しました。あなたは承認者の1人です。( ) |
個々のレビュアーのステータス
各レビュアーのレビューと承認ステータスを確認するには、以下を実行します:
- マージリクエストを開きます。
- 右側のサイドバーを確認します。
各レビュアーのステータスが、名前の横に表示されます。
レビューを再リクエストするには、ユーザーの横にあるRe-request a review(レビューを再リクエスト)アイコン( )を選択します。
マージリクエストを承認する
適格な承認者、次の2つの方法でマージリクエストを承認できます:
- マージリクエストウィジェットで、承認するを選択します。
- コメントで
/approveクイックアクションを使用します。
承認されたマージリクエストには、レビュアーのリストのユーザー名の横に緑色のチェックマーク( )が表示されます。マージリクエストが必須の承認を受けると、次の理由でブロックされない限り、マージの準備が整います:
マージリクエスト作成者の承認を禁止する
マージリクエスト作成者が自分の作業を承認できないようにするには、マージリクエスト作成者による承認を禁止する設定を有効にします。
承認ルールの変更
承認ルールを上書きするを有効にした場合、デフォルトの承認ルールへの変更は、ターゲットブランチの変更を除き、既存のマージリクエストへの影響はありません。
無効なルール
GitLabは、次のような承認ルールが満たせない場合に、その承認ルールを自動承認としてマークします:
- 適格な承認者のみがマージリクエストの作成者である。
- 適格な承認者がルールに割り当てられていない。
- 必須の承認数が、適格な承認者の数を超えている。
マージリクエスト承認ポリシーを通じてルールを作成した場合を除き、これらのルールは自動的に承認され、マージリクエストのブロックが解除されます。
無効なポリシー作成ルール:
- アクションが必要として表示されます。
- 自動的に承認されません。
- 影響を受けるマージリクエストをブロックします。
関連トピック
- マージリクエスト承認API
- GitLab Self-Managedインスタンスのインスタンス承認ルール
- プランナーまたはレポーターロールを持つユーザーに承認権限を付与する有効にする
- マージリクエスト承認ルールを編集またはオーバーライドする

