Ruby | Isstempl gem を使ってGitHub Issueのテンプレート用URLを生成する

GitHub Issuenのテンプレート用URLを生成するIsstempl gemを作ったので、
バグ用のテンプレートと仕様追加用のテンプレートを作ってみます。

## <i class="fa fa-download" style="font-size:1em;"></i> インストール
```bash
$ gem install isstempl
$ isstempl version
"0.0.2"
```

## <i class="fa fa-sitemap" style="font-size:1em;"></i><i class="fa fa-bug" style="font-size:1em;"></i> バグ用テンプレート生成
### <i class="fa fa-gear" style="font-size:1em;"></i> DSLテンプレート(Isstempl)を生成
```bash
$ isstempl init
```

### <i class="fa fa-gear" style="font-size:1em;"></i> DSLテンプレート(Isstempl)を編集
```ruby
# encoding: utf-8

account "tbpgr"
repository "waffle_io_test"
title "バグタイトル"
body <<-EOS
## :bug: 事象

## :ballot_box_with_check: 原因

## :large_blue_circle: 対応

## :smile: 受入基準
### :white_check_mark: 受入基準1
受入基準1詳細

### :white_check_mark: 受入基準2
受入基準2詳細

### :white_check_mark: 受入基準3
受入基準3詳細

### :checkered_flag: 確認結果
- [ ] 受入テスト1確認OK
- [ ] 受入テスト2確認OK
- [ ] 受入テスト3確認OK
EOS
labels "bug"
```

### <i class="fa fa-gear" style="font-size:1em;"></i> URLを生成
```bash
$ isstempl generate
https://github.com/tbpgr/waffle_io_test/issues/new?title=%E3%83%90%E3%82%B0%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB&body=%23%23%20:bug:%20%E4%BA%8B%E8%B1%A1%0A%0A%23%23%20:ballot_box_with_check:%20%E5%8E%9F%E5%9B%A0%0A%0A%23%23%20:large_blue_circle:%20%E5%AF%BE%E5%BF%9C%0A%0A%23%23%20:smile:%20%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%96%0A%23%23%23%20:white_check_mark:%20%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%961%0A%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%961%E8%A9%B3%E7%B4%B0%0A%0A%23%23%23%20:white_check_mark:%20%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%962%0A%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%962%E8%A9%B3%E7%B4%B0%0A%0A%23%23%23%20:white_check_mark:%20%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%963%0A%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%963%E8%A9%B3%E7%B4%B0%0A%0A%23%23%23%20:checkered_flag:%20%E7%A2%BA%E8%AA%8D%E7%B5%90%E6%9E%9C%0A-%20[%20]%20%E5%8F%97%E5%85%A5%E3%83%86%E3%82%B9%E3%83%881%E7%A2%BA%E8%AA%8DOK%0A-%20[%20]%20%E5%8F%97%E5%85%A5%E3%83%86%E3%82%B9%E3%83%882%E7%A2%BA%E8%AA%8DOK%0A-%20[%20]%20%E5%8F%97%E5%85%A5%E3%83%86%E3%82%B9%E3%83%883%E7%A2%BA%E8%AA%8DOK%0A&labels=bug
```

### <i class="fa fa-cloud" style="font-size:1em;"></i> リンクの動作確認
* 編集画面
![check1.png](https://qiita-image-store.s3.amazonaws.com/0/43480/1d98f097-ff63-f717-70ef-071996422452.png)

* プレビュー画面
![check2.png](https://qiita-image-store.s3.amazonaws.com/0/43480/3d3b8f63-6c8d-42f8-4b8b-4fba113f9335.png)

## <i class="fa fa-sitemap" style="font-size:1em;"></i><i class="fa fa-file-text" style="font-size:1em;"></i> 仕様追加用テンプレート生成
### <i class="fa fa-gear" style="font-size:1em;"></i> DSLテンプレート(Isstempl)を生成
```bash
$ isstempl init
```

### <i class="fa fa-gear" style="font-size:1em;"></i> DSLテンプレート(Isstempl)を編集
```ruby
# encoding: utf-8

account "tbpgr"
repository "waffle_io_test"
title "仕様タイトル"
body <<-EOS
## :ballot_box_with_check: ストーリー
＜ユーザー＞として
＜目的＞をしたい
なぜなら＜理由＞だからだ

## :scroll: 仕様

## :smile: 受入基準
### :white_check_mark: 受入基準1
受入基準1詳細

### :white_check_mark: 受入基準2
受入基準2詳細

### :white_check_mark: 受入基準3
受入基準3詳細

### :checkered_flag: 確認結果
- [ ] 受入テスト1確認OK
- [ ] 受入テスト2確認OK
- [ ] 受入テスト3確認OK
EOS
labels "enhancement"
```

### <i class="fa fa-gear" style="font-size:1em;"></i> URLを生成
```bash
$isstempl generate
https://github.com/tbpgr/waffle_io_test/issues/new?title=%E4%BB%95%E6%A7%98%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB&body=%23%23%20:ballot_box_with_check:%20%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AA%E3%83%BC%0A%EF%BC%9C%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%EF%BC%9E%E3%81%A8%E3%81%97%E3%81%A6%0A%EF%BC%9C%E7%9B%AE%E7%9A%84%EF%BC%9E%E3%82%92%E3%81%97%E3%81%9F%E3%81%84%0A%E3%81%AA%E3%81%9C%E3%81%AA%E3%82%89%EF%BC%9C%E7%90%86%E7%94%B1%EF%BC%9E%E3%81%A0%E3%81%8B%E3%82%89%E3%81%A0%0A%0A%23%23%20:scroll:%20%E4%BB%95%E6%A7%98%0A%0A%23%23%20:smile:%20%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%96%0A%23%23%23%20:white_check_mark:%20%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%961%0A%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%961%E8%A9%B3%E7%B4%B0%0A%0A%23%23%23%20:white_check_mark:%20%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%962%0A%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%962%E8%A9%B3%E7%B4%B0%0A%0A%23%23%23%20:white_check_mark:%20%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%963%0A%E5%8F%97%E5%85%A5%E5%9F%BA%E6%BA%963%E8%A9%B3%E7%B4%B0%0A%0A%23%23%23%20:checkered_flag:%20%E7%A2%BA%E8%AA%8D%E7%B5%90%E6%9E%9C%0A-%20[%20]%20%E5%8F%97%E5%85%A5%E3%83%86%E3%82%B9%E3%83%881%E7%A2%BA%E8%AA%8DOK%0A-%20[%20]%20%E5%8F%97%E5%85%A5%E3%83%86%E3%82%B9%E3%83%882%E7%A2%BA%E8%AA%8DOK%0A-%20[%20]%20%E5%8F%97%E5%85%A5%E3%83%86%E3%82%B9%E3%83%883%E7%A2%BA%E8%AA%8DOK%0A&labels=enhancement
```

### <i class="fa fa-cloud" style="font-size:1em;"></i> リンクの動作確認
* 編集画面
![check3.png](https://qiita-image-store.s3.amazonaws.com/0/43480/5d233671-cf81-3e35-2285-f7df6f6afad8.png)

* プレビュー画面
![check4.png](https://qiita-image-store.s3.amazonaws.com/0/43480/d7c202fd-d48f-3736-48f4-e98319b84037.png)

## <i class="fa fa-book" style="font-size:1em;"></i> 関連記事
* <i class="fa fa-external-link" style="font-size:1em;"></i> [GitHubのIssueテンプレートを生成する isstempl gem を作った - Tbpgr Blog](http://tbpgr.hatenablog.com/entry/2015/09/28/224855)
* <i class="fa fa-external-link-square" style="font-size:1em;"></i> [ฅ(・ω・ฅ)／{ 「GitHub Issueはテンプレート化で、綺麗に書かせる！」を Emoji 厨が実践したら } - Qiita](http://qiita.com/tbpgr/items/f4d6c8e3e98e0bcabc48)