マージリクエストのコンセプト
マージリクエストはいくつかの異なる主要なコンポーネントとアイデアで構成され、全体的なマージリクエストエクスペリエンスを包含します。これらの概念は時に競合し混乱させる用語を持っていたり、他の概念と重複していたりします。このページでは以下の概念を扱います:
- マージウィジェット
- レポーターウィジェット
- マージチェック
- 承認者ルール
新しいマージリクエストウィジェットを開発するときは、マージリクエストウィジェット拡張フレームワークのドキュメントを読んでください。すべての新しいウィジェットはこのフレームワークを使うべきですし、古いウィジェットはこのフレームワークを使うように移植するべきです。
マージウィジェット
マージウィジェットはmerge
ボタンが存在するマージリクエストのコンポーネントです:
マージリクエストのこのエリアでは、マージ前にすべてのオプションとコミットメッセージが定義されます。また、マージリクエストの内容、クローズされるイシュー、その他マージプロセスにとって重要な情報が含まれています。
レポーターウィジェット
レポーターはマージリクエスト内の変更に関する情報を報告するウィジェットです。これらのウィジェットは作成者が変更点を理解し、提案された変更点をさらに改善するための情報を提供します。
マージチェック
マージチェックは合格または不合格のステータスのことで、マージリクエスト内でマージボタンが使用可能かどうかを条件付きで制御します。マージチェックの主な違いは、ユーザーはマージリクエスト内でマージチェックと対話しませんが、チェックの合否に影響を与えることができるということです。チェックの結果は真/偽として処理され、マージリクエストがマージできるかどうかを決定します。
マージチェックの例には以下が含まれます:
- マージ競合
- パイプラインの成功
- スレッドの解決
- 外部ステータスチェック
- 必要な承認者
マージリクエストは、必要なマージチェックがすべて満たされた場合にのみマージできます。
承認
承認ルールは、何らかの組織ポリシーに基づいてマージリクエストを承認する必要があるユーザー、または任意で承認できるユーザーを指定します。承認者が必要な場合、それは事実上必須マージチェックになります。マージ チェックと承認ルールの主な違いは、ユーザーがマージ リクエストの承認を決定することで、承認ルールと相互作用することです。
さらに、承認者設定はこれらの承認ルールがマージリクエストでどのように適用されるかを定義する設定オプションを提供します。制限を設定したり、要件を追加したり、承認者を変更したりすることができます。
承認ルールと設定の例には以下が含まれます: