今回はGitLabのDescription templateの紹介です。
背景
GitLabには、あらかじめ用意したテンプレートを使い、GitLab上での作業をらくにする機能がいくつか提供されています。今回は Description template
という、Issue template
/ Merge request template
を提供する機能を紹介します。
Issue template / Merge request templateは、名前の通りIssue / Merge requestそれぞれのテンプレートを作成・利用する機能です。IssueやMerge requestに何を書くべきかをProjectやGroupレベルで定義することで、それぞれのコメントの粒度を揃え、品質の向上をもたらすことをサポートします。
なお、Description templateはFreeプランから利用できますが、一部機能はPremiumプラン以上でのみ利用可能です。
検証
Issue templateの作成と利用
Issue templateを用意するには、 .gitlab/issue_template
配下にMarkdown形式のテキストファイルを配置すれば利用できます。
ここでは .gitlab/issue_template/test.md
というファイルを配置してみます。
ファイルを作成後にIssueの作成画面から新しいIssueを作成します。
ここで テンプレートを選択してください
という項目を選択すると、Issue templateで用意したテンプレートの一覧が表示され、使いたいテンプレートを選ぶことができます。また、表示されるテンプレートの名称は、作成したMarkdownのファイル名と一致します。
先ほど作成した test
というテンプレートを選択すると、 test.md
に記載したものが出力されます。
後からIssue templateを追加すると、Issue作成時に表示されるテンプレートも追加されます。実際に利用する場合は、用途に応じてファイル名を変更し、適切なものを選択できるようにするのが良いでしょう。
Merge request templateの作成と利用
Merge request templateを用意するには、 .gitlab/merge_request_template
配下にMarkdown形式のテキストファイルを配置すれば利用できます。
先ほどのIssue templateと同様、 .gitlab/merge_request_template/test.md
というファイルを作成します。
Merge request画面から新しいMerge requestを作成すると、 test
というテンプレートを選択できます。
また、Issue / Merge request templateはデフォルトのテンプレートを用意することもできます。 .gitlab/merge_request_template/Default.md
というファイルを作成すると、Merge request作成画面で Default.md
に定義した内容が表示されます (別のテンプレートを選んで上書きすることもできます) 。
Default.md
にはいくつか組み込みの変数を利用できます。変数を利用すると、Merge requestメッセージにコミットメッセージやソースブランチなどを埋め込むことができます。
ここでは以下のような Default.md
を用意します。
作成後にMerge requestを作成すると、 Default.md
で定義した内容が表示されます。また表示されたMerge requestには、コミットメッセージ、ソースブランチ、ターゲットブランチが表示されているのを確認できます。
その他
Description templateはPremium/Ultimateプランで以下の機能を利用できます。
Instance/Group-level description template
: GitLabインスタンス、またはGroup共通のDescription templateを利用できます。Default template
:Default.md
の設定とは別に、GitLabの設定からDefault templateを設定できます。