説明のテンプレート

GitLab 8.11で導入されました

適切に提出されたイシューは、プロジェクトの開発者によってタイムリーにアドレスされる可能性が高いことは周知の事実です。

説明テンプレートを使用すると、プロジェクトのイシューやマージリクエストの説明フィールドにコンテキスト固有のテンプレートを定義できます。

概要

説明テンプレートを使用することで、新しいイシューやマージリクエストを作成するユーザーは、他のコントリビューターと効果的にコミュニケーションするための説明テンプレートを選択することができます。

すべてのGitLabプロジェクトは、GitLabプロジェクトのリポジトリのルートディレクトリに追加される説明テンプレートのセットを独自に定義することができます。

説明テンプレートはMarkdownで記述し、プロジェクトのリポジトリに.gitlabという名前のディレクトリの下に保存する必要があります。 デフォルトブランチのテンプレートだけが考慮されます。

使用例

  • 特定のプロジェクトで毎号使用するテンプレートを追加し、指示やガイドラインを与え、そのテーマに固有の情報を要求します。 例えば、新しいブログ記事を追跡するプロジェクトがある場合、タイトル、概要、作成者名、作成者のソーシャルメディア情報などを要求することができます。
  • 前の例にならって、新しいブログ記事と一緒に投稿されたMRごとに、投稿日、フロントマターデータ、画像ガイドライン、関連号へのリンク、レビュアー名などの情報を必要とするテンプレートを作成することができます。
  • また、機能提案、機能改善、バグレポートなど、ワークフローのステージごとにイシューやマージリクエストテンプレートを作成することもできます。

イシュー・テンプレートの作成

リポジトリの.gitlab/issue_templates/ディレクトリ内部に新しい Markdown (.md) ファイルを作成します。コミットしてデフォルトブランチにプッシュします。

Markdownファイルを作成するには

  1. master の横にある+ ボタンをクリックし、新規ファイルをクリックします。
  2. イシュー・テンプレートの名前を「master」の隣にある「ファイル名」テキスト・フィールドに追加します。単語の間はアンダースコアで区切り、ファイルの拡張子は「.md 」であることを確認してください(例:「feature_request.md」)。
  3. コミットしてデフォルトのブランチにプッシュします。

リポジトリに.gitlab/issue_templates ディレクトリがない場合は、作成する必要があります。

.gitlab/issue_templates ディレクトリを作成します:

  1. master の隣にある+ ボタンをクリックし、新規ディレクトリを選択します。
  2. この新しいディレクトリに.gitlab という名前をつけ、デフォルトのブランチにコミットします。
  3. master の隣にある+ ボタンをもう一度クリックし、New directoryを選択します。
  4. ディレクトリ名をissue_templates とし、デフォルトブランチにコミットします。

これが正しく機能したかどうかを確認するには、新しいイシューを作成し、説明テンプレートを選択できるかどうかを確認してください。

マージリクエストテンプレートの作成

イシューテンプレートと同様に、リポジトリの.gitlab/merge_request_templates/ ディレクトリ内部に新しい Markdown (.md) ファイルを作成します。コミットしてデフォルトブランチにプッシュします。

テンプレートの使用

例えば、.gitlab/issue_templates/Bug.mdというファイルを作成したとします。これを選択すると、Bug issueの作成または編集時にドロップダウン・オプションがBug有効になりますBugBugこれを選択すると、Bug.md テンプレート・ファイルの内容がissueの説明フィールドにコピーされます。「テンプレートのリセット」ボタンは、テンプレートを選択した後に行った変更を破棄し、テンプレートを初期状態に戻します。

Description templates

マージリクエストとイシューのデフォルトテンプレートの設定

  • この機能は記述テンプレートの前に導入され、GitLab Starterで利用可能です。 プロジェクトの設定で有効にすることができます。
  • イシューのテンプレートは GitLab EE 8.1 で導入されました。
  • GitLab EE 6.9 でマージリクエストのテンプレートが導入されました。

プロジェクトの設定/可視性、プロジェクトの機能、権限セクションで、イシューやマージリクエストの可視性を「誰でもアクセス可能」または「プロジェクトメンバーのみ」のいずれかに設定する必要があります。 これはデフォルトの動作なので、ほとんどの場合は問題ありません。

  1. プロジェクトの設定に移動します。
  2. マージリクエストヘッダーの下にある[展開]をクリックします。
  3. マージリクエストのデフォルト説明テンプレートテキストエリアに入力します。
  4. デフォルトのイシュー・テンプレートの下にある[展開]をクリックします。
  5. Default description template for issuestext areaに記入してください。 GitLabのマージリクエストやイシューはMarkdownをサポートしているので、見出しやリストなどの書式に使うことができます。

Default merge request description templates

Default issue description templates

説明を追加したら、[変更を保存]を押して設定を有効にします。 これで、新しいマージリクエストまたはイシューが作成されるたびに、テンプレートに入力したテキストがあらかじめ入力されます。

説明テンプレート例

GitLab Community Edition プロジェクトでは、イシューやマージリクエストに Description Templates を利用しています。.gitlab フォルダに例がありますので、参考にしてください。

ヒント: 説明テンプレート内でクイックアクションを使用して、ラベル、担当者、マイルストーンをすばやく追加することができます。 クイックアクションは、イシューまたはマージリクエストを送信するユーザーが関連アクションを実行する権限を持っている場合にのみ実行されます。

バグレポートのテンプレートの例です:

Summary

(Summarize the bug encountered concisely)


Steps to reproduce

(How one can reproduce the issue - this is very important)


Example Project

(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report)

(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version)


What is the current bug behavior?

(What actually happens)


What is the expected correct behavior?

(What you should see instead)


Relevant logs and/or screenshots

(Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise.)


Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

/label ~bug ~reproduced ~needs-investigation
/cc @project-manager
/assign @qa-tester