きっかけ
社内で使っている pull request のテンプレートがあり、各人でブックマークレットや、Using saved replies などを利用してテンプレートを適用しているのですが、テンプレート原本の内容がちょいちょい更新されるので、人によって使っているテンプレートが古いままだったりすることがありました。
それを解消する方法はないものかなーと思っていたところ、GitHubのIssue・Pull Requestのテンプレート機能を使おう の記事を見つけました。
問題自体はこれで解決しましたが、ふと pull request のテンプレートを複数使いたい場合はどうすればいいんだろう?という疑問が浮かびました。調べてみたところ公式に書いてありましたので本日はそれをまとめてみたいとおもいます。
※なお、今回は pull request に話を限定します。
テンプレートが1つだけでいい場合
これは先ほど貼った記事リンクにも記載されているものですが、おさらいと整理のため記載します。
リポジトリ直下に .github/PULL_REQUEST_TEMPLATE.md
を設置します。
するとPULL_REQUEST_TEMPLATE.md
の内容が pull request 作成時に自動的に挿入されます。
テンプレートを複数使い分けたい場合
こちらが今日の本題です。
リポジトリ直下に .github/PULL_REQUEST_TEMPLATE/
ディレクトリを作成し、その中にテンプレート用のマークダウンファイルを作成します。ファイル名はなんでもOKです。ここでは例として .github/PULL_REQUEST_TEMPLATE/
に template1.md
と template2.md
を作成します。
pull request 作成時、URLに ?template=template1.md
というクエリを付けてリクエストを送信すると、先ほどの template1.md
が pull request の本文に挿入されます。
所感
pull request のテンプレートが1つでいい場合は完全に自動化できるので非常に良さそうです。
ただ、テンプレートを複数使う方法は現状 ?template=xxxxx
のクエリ付与にひと手間がかかるので、業務等に導入するにはもう一工夫要りそうかと感じました。こちらはまた何か良い情報等が見つかりましたら記事に追加したいと思います。まあ、そもそもpull requestのテンプレートって何種類もいらないんじゃn(ry
参考
GitHubのIssue・Pull Requestのテンプレート機能を使おう
公式ヘルプ
https://help.github.com/articles/creating-a-pull-request-template-for-your-repository/
To create multiple pull request templates and use the template query parameter to specify a template to fill the pull request body, type .github/PULL_REQUEST_TEMPLATE/, then the name of your pull request template.
Query parameters are optional parts of a URL you can customize to share a specific web page view, such as search filter results or an issue template on GitHub.