Posted at

GitLab Issueもテンプレート化で、綺麗に書かせる!

More than 3 years have passed since last update.

GitHub Enterpriseは有償ですので、オープンソースで無償で利用できるGitLab(Community Edition)をお使いの方も多いと思います。

プロジェクトのメンバーに必要な内容がきちんと記載されたIssueを作成してもらうことは、プロジェクトの運営を円滑に行う上でキモになります。そこで、この記事ではyoshimikeisuiさんのGitHub Issueはテンプレート化で、綺麗に書かせる!の投稿をGitLab化してみたいと思います。

まずは、以下の新規Issue作成リンクをみてみてください。

不具合レポートをする

Issueの中に記載させたいことが埋まっていますね。本稿ではこのリンクの作り方を説明します。


1.Issueのテンプレートを決める。

まずはIssueのテンプレートを決めましょう。

入力しておいてほしいことが全て盛り込まれるようなテンプレートを作成しましょう。たとえば、不具合のIssueを意識して、以下のようなテンプレートを考えます。

件名(title)用のテンプレート

「xxxxした時xxxxxができない」などわかりやすく。

内容(description)用のテンプレート

## バージョン

## OS

## 現象

## 期待動作

## 添付資料


2.URLを作成する。

名前空間とプロジェクト名を入れて、URLを作成します。

プロジェクトのURL/issues/new?issue[title]=件名テンプレート&issue[description]=内容テンプレート

たとえば、先ほどのテンプレート例では

https://gitlab.com/kitfacory/test/issues/new?issue[title]=「xxxxした時xxxxxができない」などわかりやすく。&issue[description]=## バージョン

## OS

## 現象

## 期待動作

## 添付資料

というようなイメージのURLを作ることになります。


3.URLエンコードする。

たとえば、こちらのサイトなどを使って前述の?文字以降をURLエンコードをしてURLを作成しましょう。

「xxxxした時xxxxxができない」などわかりやすく。という文字列は以下のように変換されます。

%E3%80%8Cxxxx%E3%81%97%E3%81%9F%E6%99%82xxxxx%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%80%8D%E3%81%AA%E3%81%A9%E3%82%8F%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%8F%E3%80%82

内容(description)の方は、以下のように変換されました。

%23%23+%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%0D%0A%0D%0A%23%23+OS+%28Android%2FiOS%29%0D%0A%0D%0A%23%23+%E7%8F%BE%E8%B1%A1%0D%0A%0D%0A%23%23+%E6%9C%9F%E5%BE%85%E5%8B%95%E4%BD%9C%0D%0A%0D%0A%23%23+%E6%B7%BB%E4%BB%98%E8%B3%87%E6%96%99%0D%0A

変換後は以下のような文字列になりました。

エンコードした内容をくっつけて、URLを作成しましょう。最初にイメージしたURLの"[" "]"の部分を、それぞれ%5B、%5Dに置き換えることにも注意してください。

https://gitlab.com/kitfactory/test/issues/new?issue[title]=%E3%80%8Cxxxx%E3%81%97%E3%81%9F%E6%99%82xxxxx%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%80%8D%E3%81%AA%E3%81%A9%E3%82%8F%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%8F%E3%80%82&issue[description]=%23%23+%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%0D%0A%0D%0A%23%23+OS%0D%0A%0D%0A%23%23+%E7%8F%BE%E8%B1%A1%0D%0A%0D%0A%23%23+%E6%9C%9F%E5%BE%85%E5%8B%95%E4%BD%9C%0D%0A%0D%0A%23%23+%E6%B7%BB%E4%BB%98%E8%B3%87%E6%96%99


4.README.mdにリンクを埋め込む。

それでは以下のようにREADME.mdに書き込んで、不具合レポートの作成時のリンクを作りましょう。

[不具合レポート](https://gitlab.com/kitfactory/test/issues/new?issue[title]=%E3%80%8Cxxxx%E3%81%97%E3%81%9F%E6%99%82xxxxx%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%80%8D%E3%81%AA%E3%81%A9%E3%82%8F%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%8F%E3%80%82&issue[description]=%23%23+%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%0D%0A%0D%0A%23%23+OS%0D%0A%0D%0A%23%23+%E7%8F%BE%E8%B1%A1%0D%0A%0D%0A%23%23+%E6%9C%9F%E5%BE%85%E5%8B%95%E4%BD%9C%0D%0A%0D%0A%23%23+%E6%B7%BB%E4%BB%98%E8%B3%87%E6%96%99)

このようにGitLab形式でも書式の決まったIsssueが作成できることがわかりました。品質の良いIssueでチームメンバーの生産性をもっと高めていきましょう。


お願い

この方法ではlabel、assignee、milestoneはまだ設定できません。設定できる方法があったら教えて!!