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はまだ設定できません。設定できる方法があったら教えて!!