ドキュメントに関する現在のご利用体験についてお聞かせください。アンケートにご協力ください。
マージリクエストのタイトルテンプレート
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed
マージリクエストのタイトルテンプレートは、プロジェクトの新しいマージリクエストのデフォルトタイトルを定義します。テンプレートを使用して、チーム全体でマージリクエストの命名規則を標準化することができます。
テンプレートは、ソースブランチ名や最初のコミットメッセージのような値に展開する変数をサポートしています。ユーザーは、マージリクエストを作成する前にタイトルを編集できます。
マージリクエストタイトルのテンプレートを設定する
前提条件:
- プロジェクトのメンテナーロール以上が必要です。
マージリクエストのタイトルテンプレートを設定するには:
- 左サイドバーで、検索または移動先を選択し、プロジェクトを見つけます。
- 設定 > マージリクエストを選択します。
- マージリクエストタイトルのテンプレートまでスクロールします。
- 静的テキストとサポートされている変数を使用してテンプレートを入力します。テンプレートは100文字に制限されています。
- 変更を保存を選択します。
テンプレートを削除してデフォルトの動作に復元するには、テンプレートフィールドをクリアし、変更を保存を選択します。
サポートされている変数
タイトルテンプレートは次の変数をサポートしています:
| 変数 | 説明 | 出力例 |
|---|---|---|
%{source_branch} | ソースブランチの名前。 | my-feature-branch |
%{target_branch} | ターゲットブランチの名前。 | main |
%{title_from_branch} | 人間が読める形式に変換されたソースブランチ名。ハイフンとアンダースコアはスペースに置き換えられます。 | My feature branch |
%{first_commit_title} | マージリクエストの最初のコミットの件名(最初の行)。 | Update README.md |
%{issue_id} | ソースブランチ名を通じてリンクされたイシューのIID(例: 123からの123-fix-bug)。イシューが検出されない場合は空白。 | 123 |
%{issue_title} | ソースブランチ名を通じてリンクされたイシューのタイトル。イシューが検出されない場合は空白。 | Fix login bug |
テンプレートの例
| テンプレート | 結果 |
|---|---|
%{source_branch} | my-feature-branch |
%{title_from_branch} | My feature branch |
%{first_commit_title} | Update README.md |
Draft: %{title_from_branch} | Draft: My feature branch |
[%{source_branch}] %{first_commit_title} | [my-feature-branch] Update README.md |
Resolve %{issue_id} "%{issue_title}" | Resolve 123 "Fix login bug" |
タイトルのテンプレート割り当て
マージリクエストを作成すると、GitLabは次の順序でタイトルを割り当てます:
- タイトルを指定した場合、GitLabがそれを使用します。
- タイトルテンプレートが設定されている場合、GitLabは展開されたテンプレートを使用します。
- テンプレートが設定されていない場合、GitLabはデフォルトのタイトル動作を使用します。
デフォルトのタイトル動作
タイトルテンプレートが設定されておらず、タイトルを指定しない場合、GitLabは次の条件を順に確認してタイトルを生成します:
- マージリクエストに単一のコミットがある場合、そのコミットのタイトル。
- マージリクエストに複数のコミットがある場合、複数行のコミットメッセージを持つ最初のコミットのタイトル。
- ソースブランチ名がイシューIIDの後にハイフンが続く場合(例:
123-fix-typo)、タイトルはResolve "<your_issue_title>"になります。 - それ以外の場合、ハイフンとアンダースコアがスペースに置き換えられたソースブランチ名。
マージリクエストにコミットがない場合、またはドラフトとしてマークした場合、GitLabはタイトルの前にDraft:を追加します。