Azure DevOps のプルリクのテンプレート
プルリクエストのテンプレート(ひな形)は、リポジトリに置く Markdown かテキストのファイルで、Azure Repos は新しいプルリクの説明にその中身を入れます。変更のたびに通すべき試験・ドキュメントなどの確認項目を並べておく使い方です。どのファイルがいつ使われるかは、置き場所で決まります。以下は Microsoft の Improve pull request descriptions using templates(Azure DevOps Services・Azure DevOps Server・Server 2022、英語)の決まりと、テンプレートが出ないときに見る所です。
既定のテンプレート
ファイル名を pull_request_template.md か pull_request_template.txt にして、既定のブランチの次のどれかのフォルダーにコミットします。Azure Repos はこの順に探し、最初に見つけたものを使います。
.azuredevops/.vsts/docs/- リポジトリのルート
.azuredevops/pull_request_template.md
- ファイル名とフォルダー名の大文字・小文字は区別しません。
- プルリクの元ブランチ・宛先ブランチがどれでも、読まれるのは既定のブランチ(ふつうは
main)にあるファイルだけです。 - テンプレートが入ると、ふだん既定の説明になるコミット メッセージの代わりになります。作成画面の Add commit messages で戻せます。
- テンプレートは案内にとどまります。ビルド・レビュアー・作業項目のひも付けを必須にするには、ブランチ ポリシーを使います。
宛先ブランチごとのテンプレート
同じ4か所のどれかの pull_request_template/branches/ に、宛先ブランチの名前のファイルを置くと、そのブランチへのプルリクでは既定の代わりにそれが使われます。
.azuredevops/pull_request_template/branches/main.md
.azuredevops/pull_request_template/branches/feature.md # feature と feature/*
.azuredevops/pull_request_template/branches/release/october.md # release/october と release/october/*
- 名前は、ブランチ名の1段目(
dev.md・release.md)に合わせても、段ごとにフォルダーを切って合わせても構いません(10段まで)。 - Azure Repos は同じ順にフォルダーを探し、宛先ブランチに合うものが無ければ既定のテンプレートを使います。
追加のテンプレート
pull_request_template/ フォルダーの直下にあるほかの .md・.txt(たとえば .azuredevops/pull_request_template/security.md)は、追加のテンプレートです。自動では入りません。作成画面の Add a template にファイル名で並び、選ぶと説明の末尾に足されます。ブランチ別のテンプレートは、この一覧に出ないことがあります。
作成画面の URL に ?template=name.md を付けると、既定やブランチ別の代わりにそのテンプレートが使われます。
テンプレートが入らないとき
- 既定のブランチに無い。機能ブランチにコミットしただけのテンプレートや、まだ開いているプルリクの中のテンプレートは、既定のブランチに入るまで読まれません。リポジトリの既定のブランチが
mainでなければ、そのブランチが基準です。 - 4か所のどれでもない。
.github/pull_request_template.mdは GitHub が探す場所で、Azure Repos が探すのは.azuredevops・.vsts・docs・ルートだけです。 - 名前が違う。既定は
pull_request_templateに.mdか.txtです。PULL_REQUEST_TEMPLATE.mdは大文字・小文字を区別しないので読まれますが、pr_template.mdは読まれません。 - 別のテンプレートが先に当たっている。宛先ブランチのテンプレートがあれば既定より先に使われ、
.azuredevopsの既定はdocsやルートのものより先です。 - 作成画面で作っていない。上の決まりは Web の作成画面のものです。ほかの道具で作ったプルリクの説明は、その道具が入れたものになります。
IntelliJ IDEA でテンプレートを使う
Azure DevOps Pull Requests は、Lesstep が作っている JetBrains IDE(2024.1 以降)と Android Studio のプラグインです。Azure DevOps Services と Azure DevOps Server のプルリクエストを IDE のツールウィンドウに並べ、いまのブランチからプルリクを作れます(Git > Azure DevOps のプルリクエストを作成…)。1.0.58 から、作成の画面は上の決まりどおりに、宛先ブランチのテンプレート、なければ既定のテンプレートを、サーバーの既定のブランチから読んで説明に入れます。どのファイルを使ったかを画面に出し、宛先を変えると、説明に手を入れていなければそのブランチのテンプレートに入れ替わります。ひな形を追加…で追加のテンプレートを末尾に足せます。作成・投票・コメント・完了は Pro(30日間の無料試用つき)、レビューの受信箱・差分・ブランチ ポリシーは無料です。画面は日本語です。
Azure DevOps は Microsoft Corporation の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Microsoft・JetBrains のいずれとも提携しておらず、承認も受けていません。