次の方法で共有


テンプレートを使用して pull request の説明を改善する

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

適切なプル要求の説明を記述することは、レビュー担当者がコードをレビューするときに何を期待するかを知るのに役立つ優れた方法です。 また、テスト、単体テストの追加、ドキュメントの更新など、すべての変更に対して実行する必要のある作業を追跡するのに役立つ優れた方法でもあります。 プル要求テンプレートは、開発者が組織の標準を満たす優れた pull request の説明を作成するのに役立ちます。

この記事では、pull request テンプレートの使用を開始する方法について説明します。

プル要求テンプレートはガイダンスを提供できますが、アドバイザリのみとなります。 ブランチ ポリシーを使用して、メインなどのキー ブランチにプル要求を要求する、ビルドの成功を要求する、必要なレビュー担当者を強制するなどのベスト プラクティスを適用します。 詳細については、「 ブランチ ポリシー」を参照してください。

[前提条件]

カテゴリ Requirements
プロジェクトへのアクセス権 プロジェクトのメンバー。
アクセス許可 - プライベート プロジェクトのコードを表示する: 少なくとも Basic アクセス。
- プライベート プロジェクトのコードを複製または投稿する: 共同作成者 セキュリティ グループのメンバー、またはプロジェクト内の対応するアクセス許可。
- ブランチまたはリポジトリのアクセス許可を設定する: ブランチまたはリポジトリの アクセス許可を管理 します。
- 既定のブランチを変更する: リポジトリ のポリシー のアクセス許可を編集します。
- リポジトリをインポートする: プロジェクト管理者 セキュリティ グループのメンバーまたは Git プロジェクト レベルの [リポジトリ の作成 ] アクセス許可が [許可] に設定されています。 詳細については、「 Git リポジトリのアクセス許可を設定する」を参照してください。
サービス リポジトリが有効になっています
ツール Optional. az repos コマンドを使用する: Azure DevOps CLI

パブリック プロジェクトでは、 利害関係者 アクセス権を持つユーザーは、コードの表示、複製、投稿など、Azure Repos へのフル アクセス権を持ちます。

カテゴリ Requirements
プロジェクトへのアクセス権 プロジェクトのメンバー。
アクセス許可 - コードの表示: 少なくとも 基本 アクセス。
- コードの複製または投稿: 共同作成者 セキュリティ グループのメンバー、またはプロジェクト内の対応するアクセス許可。
サービス リポジトリが有効になっています

プル要求テンプレートとは

pull request テンプレートは、pull request の作成時に pull request の説明に追加される Markdown テキストを含むファイルです。

Thank you for your contribution to the Fabrikam Fiber repo. 
Before submitting this PR, please make sure:

- [ ] Your code builds clean without any errors or warnings
- [ ] You are using approved terminology
- [ ] You have added unit tests

Azure Repos では、次の種類のプル要求テンプレートを作成できます。

  • ブランチ固有のプル要求テンプレートによってオーバーライドされない限り、リポジトリ内のすべての新しいプル要求に自動的に適用される 既定 のプル要求テンプレート
  • 特定のブランチ を対象とするプル要求に自動的に適用されるブランチ固有のプル要求テンプレート
  • pull request 作成者が必要に応じて追加できる追加の pull request テンプレート

pull request テンプレートの種類は、次のセクションで説明するように、ファイル名とフォルダーの場所によって決まります。 ファイル名とフォルダーの場所では大文字と小文字は区別されませんが、リポジトリの既定のブランチに存在する必要があります。

すべてのプル要求テンプレート ファイルは、リポジトリの既定のブランチ (通常はメイン) に配置する必要があります。 既定のブランチからの pull request テンプレート ファイルのみが使用されます。

既定の pull request テンプレート

既定の pull request テンプレートは、新しい pull request が作成されたときに説明フィールドに自動的に適用されます。 既定のプル要求テンプレートを使用してリポジトリを構成するには、 pull_request_template.md または pull_request_template.txt という名前のファイルを作成し、リポジトリの既定のブランチに次のいずれかのフォルダーに保存します。

  • リポジトリのルート フォルダーに格納されている .azuredevops という名前のフォルダー
  • リポジトリのルート フォルダーに格納されている .vsts という名前のフォルダー
  • リポジトリのルート フォルダーに格納されている docs という名前のフォルダー
  • リポジトリのルート フォルダー

プル要求テンプレートを格納する場所を柔軟に設定できるように、複数の場所が用意されています。 プル要求が作成されると、Azure Repos は指定された順序で指定されたフォルダーを検索し、見つけた最初の既定のプル要求テンプレートを使用します。

リポジトリに新しいプル要求が作成されると、 ブランチ固有のプル要求テンプレート が適用されない限り、既定のプル要求テンプレートの内容を使用して、pull request の説明フィールドが事前に設定されます。

既定の pull request テンプレート

この説明を編集または追加し、必要に応じて [テンプレートの追加] ドロップダウンからプル 要求テンプレート を選択して 追加 できます。

既定またはブランチ固有のプル要求テンプレートが自動的に適用されると、通常は既定の説明に使用される標準コミット メッセージが置き換えられます。 [ コミット メッセージの追加] を選択して、それらを再度追加できます。

ブランチ固有のプル要求テンプレート

ブランチ固有のプル要求テンプレートは、特定のブランチを対象とするプル要求用に構成できます。 ブランチ固有のプル要求テンプレートを使用してリポジトリを構成するには、ブランチにちなんだ .txt または .md ファイルを作成します。 名前は、 maindevreleasefeatureなど、ブランチ名の最初のレベルと一致する必要があります。 各ブランチ固有のプル要求テンプレートは、そのブランチまたはその下に含まれるブランチをプル要求がターゲットにするたびに適用されます。 たとえば、プル要求が feature.md ブランチまたは任意のfeature ブランチを対象としている場合、feature/*という名前の pull request テンプレートが適用されます。

ブランチ固有のプル要求テンプレートは、次のフォルダー階層を使用してリポジトリの既定のブランチに保存する必要があります: pull_request_template/branches/。 これらのフォルダーは、リポジトリ内の次のいずれかのフォルダーに基づいている必要があります。

  • リポジトリのルート フォルダーに格納されている .azuredevops という名前のフォルダー
  • リポジトリのルート フォルダーに格納されている .vsts という名前のフォルダー
  • リポジトリのルート フォルダーに格納されている docs という名前のフォルダー
  • リポジトリのルート フォルダー

たとえば、 dev ブランチへのすべてのプル要求に適用する必要があるブランチ固有のプル要求テンプレートは、 dev.md または dev.txt という名前になり、次のいずれかの場所に配置されます。

  • <repository root>/.azuredevops/pull_request_template/branches/
  • <repository root>/.vsts/pull_request_template/branches/
  • <repository root>/docs/pull_request_template/branches/
  • <repository root>/pull_request_template/branches/

既定のプル要求テンプレートと同様に、ブランチ固有のプル要求テンプレートを格納する場所を柔軟に設定できるように、複数の場所が用意されています。 プル要求が作成されると、Azure Repos は指定されたフォルダーをブランチ固有のプル要求テンプレートに対して指定された順序で検索し、ブランチ名と一致する最初のフォルダーを使用します。 ブランチ固有のプル要求テンプレートが見つからない場合、Azure Repos は、前の「既定のプル要求テンプレート」セクションで説明したように 、既定のプル要求テンプレートを 検索します。

ブランチ固有のプル要求テンプレート

追加のプル要求テンプレート

既定のプル要求テンプレートとブランチ固有のプル要求テンプレートに加えて、追加のプル要求テンプレートを構成できます。 既定のブランチにある次のいずれかのフォルダーにあるファイルを .md または .txt できます。

  • <repository root>/.azuredevops/pull_request_template/
  • <repository root>/.vsts/pull_request_template/
  • <repository root>/docs/pull_request_template/
  • <repository root>/pull_request_template/

プル要求が作成されたら、[テンプレートの追加] ドロップダウンから使用可能なプル要求テンプレートを選択して 追加 できます。 ドロップダウンの名前は、テンプレートのファイル名に基づいています。

次の例では、3 つのテンプレートが一覧表示されています。

  • dev.md - これは、ファイル名の後に表示される 既定 のメッセージで示されているように、このプル要求に既定で dev ブランチに適用されたブランチ固有のテンプレートです。
  • additional.md - これは追加のテンプレートです。
  • pull_request_template.md - これは通常、既定のテンプレートですが、このプル要求の dev.md ブランチ固有のテンプレートによってオーバーライドされました。 既定では追加されていませんが、一覧から選択することで適用できます。

追加の pull request テンプレート

目的の追加テンプレートの名前を選択して、その内容を現在の pull request の説明に追加します。

追加の pull request テンプレートが追加されました

クエリ文字列に ?template=name.md を追加することで、一致する既定または分岐固有のプル要求をオーバーライドするプル要求テンプレートを指定できます。

こちらも参照ください