GitLab Advent Calendar 2016 2日目の記事です。
GitLabのCI/CD回りの機能は非常に強力です。しかしCI/CD以外にも目立たないですが非常に便利な機能をたくさん持っています。そんな機能を少しづつですが紹介していきます。
本日はDescription Templates
についてです。
Description Templatesとは
GitLabを使っている方の多くはGitHubも併せて使われているかと思います。Description Templates
はGitHubのIssue and Pull Request templates
に当たります。つまりIssueやMergeRequestのDescriptionに記載する内容のテンプレートを定義できる機能です。
GitLab 8.11
から使用可能です。
実際の業務でIssueやMergeRequestの記述内容がバラバラになってしまったり、必要な情報が書かれてなくて困ったことはありませんか?新人さんだとそもそも何を書いてよいか分からない、といった方もいるかと思います。
そんな時にテンプレートが用意されていれば、担当者ごとの記述レベルや内容の差をかなり小さくすることができます。
機能についてはGitHubと少しだけ違うので作り方と合わせて見ていきましょう。
作り方
.gitlabディレクトリを作成する
まずはプロジェクトのルートディレクトリに.gitlab
ディレクトリを作成します。ここはGitHubとほとんど同じですね。
issue_templates、merge_request_templatesディレクトリを作成する
次に先ほど作成した.gitlabディレクトリ内にissue_templates
ディレクトリとmerge_request_templates
ディレクトリを作成してください。
GitLabではIssue用のテンプレートとMergeRequest用のテンプレートを別々のディレクトリで管理します。またテンプレートは一つだけでなく、複数作成することができます。用途に合わせてテンプレートを準備しておけば、いろいろ捗ります。
templateファイルを作成する
最後にtempleteファイルを作成します。Issue用のtemplateファイルはissue_templatesディレクトリへ、MergeRequest用のtemplateファイルはmerge_request_templatesディレクトリに作成してください。
templeteファイルはMarkDownファイル(.md)が使用できます。ファイル名は任意です。bug.md
やenhancement.md
など選ぶときにどのテンプレートを選択すればよいかわかりやすい名前にしておきましょう。
作り方は以上です。
使ってみよう
では実際に使ってみましょう。
Issueの新規作成画面に行くとTitleを入力する項目のすぐ左にtemplate選択用のセレクトボックスが表示されているはずです。その中から目的のtemplateファイルを選択してください。
選択するとtemplateファイルの内容がDescriptionに転記されるかと思います。あとは内容を追記していくだけです。
MergeRequestの新規作成画面に行っても同じようにTitle横のセレクトボックスからtemplateファイルを選択することができます。
## 最後に
Description Templatesの導入は非常に簡単ですが、効果はとても高いかと思います。こういった機能をどんどん使って効率的に作業を進めていきたいものですね。