カンテラの光の下で

dNaga392's memorandom

【GitHub】issue template url ジェネレータを作った【GitLab】

Vue.jp を使って、GitHubとGitLabに対応する issue template url ジェネレータを作りました。

dnaga392.github.io

dnaga392.gitlab.io

GitLabを仕事で使っていて、issueのテンプレートが欲かったので作ってみました。

GitLabでのテンプレートには他の手法もあるのですが、URLでワンクリックというissue作成時の手軽さに魅力を感じました。

ひとまず自分が欲しい機能は実現できたので、あとは利用者がいたり作り込みたくなったりしたら更新すると思います。

Vue.js

普段Web開発をしておらず何かフレームワークを使ってみたかったことから、周りに利用者が多かったこととイケてる感じがしたのでVue.jsを使ってみました。

v-modelv-bind の使い勝手がよくて、なるほど人気が出るわけだと実感しました。動的ページ最高!

基礎から学ぶ Vue.js

基礎から学ぶ Vue.js

もう一つのテンプレート機能

GitLab で issue のテンプレートを実現する方法は次の2つを見つけました。

  1. URLにパラメータを指定する方法
  2. テンプレートファイルをリポジトリに配置する方法

次は方法1の参考記事と公式ドキュメントです。

qiita.com

Create a new Issue | GitLab

次は方法2の参考記事と公式ドキュメントです。

qiita.com

Description templates | GitLab

それぞれの特徴は次の通りです。

  1. URLにパラメータを指定する方法
    • README に URL を書いておけばワンクリックでテンプレートが展開できる
    • URL化するために文字列をエンコーディングする必要がある(テンプレートの編集コストが高い)
    • テンプレートの範囲はTitle、Descriptionなど
  2. テンプレートファイルをリポジトリに配置する方法
    • markdownを既定の位置に配置すればOK
    • issue 作成画面のテンプレート一覧からコンボボックスで選択する(1よりはissue作成の手間がある)
    • テンプレートの範囲はDescriptionのみ

どちらも多少なりリポジトリに干渉するので、好みで選ぶところがあるかと思います。

今回は作成コストと記述可能な範囲の広さから方法1を採用し、そのデメリットを軽減するためにツールを作った次第です。

Links

GitHub/GitLab それぞれのリポジトリです。

参考資料