[Gitlab] issue,merge requestのテンプレートを作る

Gitlabではissue,merge requestの雛型(テンプレート)を作ることができます。

テンプレートを作成しておくことで、issueやmerge requestのフォーマットが統一され、読みやすくなるうえに、報告漏れ等が減りとても便利です。

WebGUIからの操作もできるらしいですが、個人的には直接ファイルをいじるほうが好みなのでその方法を載せておきます。

新しくディレクトリを作る

リポジトリの直下に.gitlabディレクトリを作ります。
windowsだとエクスプローラーでドット(.)から始まる名前のファイルやフォルダを作ろうとするとエラーが出て作れないので、コマンドプロンプトで

$mkdir .gitlab

のコマンドを実行して作ります。
作成さえしてしまえばあとは普通のフォルダ同様アクセスできます。

.gitlabディレクトリをつくったらその中にさらに二つディレクトリを作成します。
issue_templatesmerge_request_templatesです。

テンプレートを追加する

先ほど作成した、issue_templatesの中にはissueのテンプレートを、merge_request_templatesの中にはmerge requestのテンプレートを入れていきます。

テンプレートはマークダウンの形式で書きます。

テンプレートは、複数追加できるのでバグ修正や機能追加など、用途に合わせて複数用意しておくとよいでしょう。

例、

.gitlab/
├── issue_templates
│   ├── タスク.md
│   ├── バグ報告.md
│   └── 新機能の提案.md
└── merge_request_templates
    ├── バグ修正.md
    └── 新機能の追加.md

あとは、この変更をコミットすれば、新しいissueやmerge requestを発行したとき、一番左上に"Choose a Template"のようなプルダウンメニューが表示されます。
そこにテンプレートのファイル名(.md部分を除く)がリスト表示されるので、そこからテンプレートを選択します。

ファイル名に日本語を使用すれば、もちろん日本語で表示されます。

デフォルトでは、何も選択されていない状態なので、フォームは空欄です。

テンプレートを選択すると、フォームにテンプレートの内容が表示されます。

※2019/3/2追記
このテンプレートは特に設定しなければmasterブランチのものが利用されるようです。