GitHubの「プルリクエストテンプレート」はブランチ毎の出し分けが出来ない。

スポンサーリンク

プルリクエストテンプレートとは

GitHub上でプルリクエスト作成時の概要テンプレート。

つまりはこんな感じ。
PR作成時に記入する概要欄に、自動で初期表示用のテンプレートを用意することができる。

今回は見出しに

「課題」「やったこと」「補足事項」

をテンプレートとして設定している状態。

テンプレートの何がいいのか?

プルリクエスト作成時、最低限記入して欲しい情報の記入を促せる。

例では

  • 課題
    • 「プロジェクト管理ツールのチケットURL」
  • やったこと
    • 「このPRでやったこと」
  • 補足
    • 「このPRの補足事項」

を最低限記入してもらうためにテンプレートを作成している。

テンプレートがないとどうなるか

単純に、PRに記載する概要が個人でバラツキが出る。

「このPRがどの課題と対応しているのかが分からない」

「このPRでやったことが何なのか分からない」

特にレビューする側にとって情報が不足していることはストレスになるので避けたい。

プルリクエストテンプレートの作り方

Qiitaに詳しい記事があったのでそちらにお任せ。
GitHubのIssue・Pull Requestのテンプレート機能を使おう / @nyamogera

超簡単にまとめると、

  • PULL_REQUEST_TEMPLATE.mdというマークダウン形式のファイルを用意する。
  • .githubディレクトリを作成し、ディレクトリ下にセットする。
  • またはプロジェクト直下にセットする。

以上。

ファイル名、ディレクトリ名は上記を指定することが条件。

設置方法はどちらでも好きな方で。
.githubディレクトリを切ったほうが見やすいかも。

今回の例ではこんな感じのファイルを用意している。

## 課題

## やったこと

## 補足事項

「テンプレート」はブランチ毎に出し分けが出来ない。

この「プルリクエストテンプレート」とても便利ですが、出来ないことがあります。

それはブランチを指定して出し分けたりすることが出来ません。

前提条件

まず、テンプレートは必ずデフォルトブランチ上に存在することが求められます。
存在しない場合は、プルリクエスト作成時にテンプレートが表示されません。

つまり「master」がデフォルトブランチの場合は、「master」に存在することが必須です。

全ブランチに適用される

上記条件を満たすと、プルリクエスト作成時にテンプレートが表示されるようになります。

対象のブランチはすべてのブランチになります。向き先は問いません。

これは特定のブランチに対してのプルリクエストの場合に

  • 「テンプレートを非表示にしたい」
  • 「テンプレートを変えたい」

ということが出来ないという事になります。

稀な事案

  1. オフショア開発を依頼したりして、同リポジトリで複数の開発チームが存在する
  2. ある開発チームでプルリクエストテンプレートを使いたい!
  3. でも他のチームではプルリクエストテンプレートは不要
  4. テンプレート導入

この場合、全ブランチに問答無用にテンプレートが適用されます。
不要な場合はプルリクエスト作成時にその都度テンプレートの記述を消す必要があります。

手間といえば手間かもしれません。

まとめ

今の所、プルリクエストテンプレートは全ブランチ共通のテンプレートになる。

それを気にしなければとても便利。

おわり