pull request の作成

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Git リポジトリでコードを変更、レビュー、マージするための pull request (PR) を作成します。 PR は、アップストリーム リポジトリ内のブランチまたはリポジトリのフォーク内のブランチから作成できます。 チームは PR をレビューし、変更に関するフィードバックを提供できます。 レビュー担当者は、提案された変更をステップ実行し、コメントを残し、PR を承認または拒否するための投票を行うことができます。 ブランチ ポリシーやその他の要件によっては、PR がさまざまな基準を満たしてからでないと、PR を完了して変更をターゲット ブランチにマージできない場合があります。

PR のガイドラインと管理に関する考慮事項については、「pull request について」を参照してください。

前提条件

  • プロジェクトで Repos を有効にする必要があります。 Repos ハブと関連ページが表示されない場合は、Azure DevOps サービスのオンとオフの切り替えに関するページを参照して Repos を再度有効にしてください。

  • PR を表示またはレビューするには、Basic 以上のアクセス権を持つ Azure DevOps プロジェクトのメンバーである必要があります。

  • PR に参加するには、閲覧者セキュリティ グループのメンバーであるか、対応するアクセス許可を持っている必要があります。

  • PR を作成および実行するには、共同作成者セキュリティ グループのメンバーであるか、対応するアクセス許可を持っている必要があります。

    注意

    パブリック プロジェクトの場合、利害関係者アクセス権を付与されたユーザーは、Azure Repos へのフル アクセス権があります。

  • プロジェクトで Repos を有効にする必要があります。 Repos ハブと関連ページが表示されない場合は、Azure DevOps サービスのオンとオフの切り替えに関するページを参照して Repos を再度有効にしてください。
  • PR を表示または確認するには、Basic 以上のアクセス権を持つ Azure DevOps プロジェクトのメンバーである必要があります。 プロジェクト メンバーでない場合は、追加してもらいます
  • PR を作成して完了するには、変更したいプロジェクトで、共同作成者セキュリティ グループのメンバーであるか、対応するアクセス許可を持っている必要があります。
  • PR に参加するには、閲覧者セキュリティ グループのメンバーであるか、対応するアクセス許可を持っている必要があります。

pull request を作成する

新しい PR は、Azure DevOps プロジェクト Web サイト、Visual Studio、または Azure DevOps CLI から作成できます。

Azure DevOps プロジェクト Web サイトの次の場所から、新しい PR を作成できます。

[Pull request] ページから PR を作成する

Web 上でプロジェクトの [Pull request] ページから任意のブランチの PR を作成できます。

  1. [Repos]>[Pull request] ページで、右上にある [新しい pull request] を選択します。

    [新しい pull request] ボタンのスクリーンショット。

  2. 変更を含むブランチと、変更をマージするブランチ (メイン ブランチなど) を選択します。

    Azure Repos での PR のソースとターゲットのブランチのスクリーンショット。

  3. PR の詳細を入力し、PR を作成します。

プッシュされたブランチから PR を作成する

機能ブランチをプッシュまたは更新すると、Azure Repos に PR を作成するためのプロンプトが表示されます。

  • [Pull request] ページで:

    Azure Repos の [Pull request] タブで PR を作成するプロンプトが示されているスクリーンショット。

  • [ファイル] ページで:

    Azure Repos の [ファイル] タブで PR を作成するプロンプトが示されているスクリーンショット。

[pull request の作成] を選択し、PR の詳細を入力して PR を作成できるページに移動します。

リンクされた作業項目から PR を作成する

ブランチにリンクされている Azure Boards 作業項目から直接 PR を作成できます。

  1. Azure Boards で、[作業] ビューの [バックログ] または [クエリ] から、ブランチにリンクされている作業項目を開きます。

  2. 作業項目の [開発] 領域で、[pull request の作成] を選択します。

    リンクされたブランチを持つ作業項目の [開発] 領域から PR を作成するスクリーンショット。

リンクをクリックすると、PR の詳細を入力して PR を作成できるページが表示されます。

チェリーピックを使用して更新プログラムを追加する

チェリーピックを使用して、あるブランチから別のブランチにコミットをコピーできます。 マージやリベースとは異なり、チェリーピックでは、ブランチ内のすべての変更ではなく、選択したコミットからの変更のみを取り込みます。

完了した PR から変更をチェリーピックするには、PR の [概要] ページで [チェリーピック] を選択します。 アクティブな PR から変更をコピーするには、PR の [その他のオプション] メニューから [チェリーピック] を選択します。 このアクションにより、コピーされた変更を含む新しいブランチが作成されます。 その後、新しいブランチから新しい PR を作成できます。 詳細な手順については、「チェリーピックで変更をコピーする」を参照してください。

pull request のソースとターゲットのブランチを切り替える

PR を初めて保存する前に、ブランチ名の横にある [ソースとターゲットのブランチを切り替える] アイコンを選択して、PR の ソースとターゲットのブランチを切り替えることができます。 PR がアクティブになると、このアイコンは消えますが、PR のターゲット ブランチを変更することはできます。

[ソースとターゲットのブランチを切り替える] アイコンのスクリーンショット。

pull request テンプレートを使用する

pull request テンプレートは、PR の作成時に PR の説明を入力する Markdown テキストを含むファイルです。 適切な PR 説明は、PR レビュー担当者に期待される内容を伝え、単体テストの追加やドキュメントの更新などのタスクを追跡するのに役立ちます。 チームは、リポジトリ内のすべての新しい PR 説明にテキストを追加する既定の PR テンプレートを作成できます。 また、チームが定義するブランチ固有のテンプレートまたはその他のテンプレートから選択することもできます。 PR テンプレートの作成と使用の詳細については、「テンプレートを使用して pull request の説明を改善する」を参照してください。

リポジトリに既定のテンプレートがある場合、リポジトリ内のすべての PR には、作成時に既定のテンプレートの説明テキストが含まれます。 他のテンプレートを追加するには、[テンプレートの追加] を選択し、ドロップダウン リストからテンプレートを選択します。 説明のテンプレート テキストの編集、削除、または他のテキストの追加が行えます。

PR の作成時にテンプレートを追加することを示すスクリーンショット。

ドラフト PR を作成する

PR がレビューの準備ができていない場合は、ドラフト PR を作成して、進行中の作業を示すことができます。 PR がレビューの準備ができたら、それを発行し、完全なレビュー プロセスを開始または再開できます。

ドラフト PR には、発行済み PR と次の違いがあります。

  • ビルド検証ポリシーは自動的には実行されません。 PR で [その他のオプション] メニューを選択すると、ビルド検証を手動でキューに入れることができます。

  • ドラフト モードの間、投票は無効になります。

  • 必須のレビュー担当者者は自動的に追加されません。 通知は、ドラフト PR に明示的に追加したレビュー担当者にのみ送信されます。

  • ドラフト PR が PR リストにドラフト バッジと共に表示されます。

    PR リストのドラフト PR を示すスクリーンショット。

注意

ドラフト PR を作成するには、Azure DevOps Server 2019.1 以降のバージョンが必要です。

ドラフト PR を作成するには、PR の作成時に [作成] の横にある矢印を選択し、[ドラフトとして作成] を選択します。 WIP や DO NOT MERGE などのタイトル プレフィックスを使用する必要はありません。

ドラフトとして PR の作成を示すスクリーンショット。

PR をレビューして完成させる準備ができたら、PR の右上にある [発行] を選択します。 PR を発行すると、必要なレビュー担当者が割り当てられ、ポリシーが評価され、投票が開始されます。

PR の発行を示すスクリーンショット。

既存の発行済み PR をドラフトに変更するには、[ドラフトとしてマーク] を選択します。 PR をドラフトとしてマークすると、既存のすべての投票が削除されます。

[ドラフトとしてマーク] を示すスクリーンショット。

pull request のタイトルと説明を追加または編集する

[新しい pull request] ページで、[タイトル] と変更の詳細な [説明] を入力して、その変更によって解決される問題を他のユーザーが確認できるようにします。 新しい PR では、既存の PR と同様に、PR 内の [ファイル][コミット] が別のタブに表示されます。 レビュー担当者の追加、作業項目のリンク、PR へのタグの追加を行うことができます。

変更をレビューする準備ができたら、[作成] を選択して PR を作成します。

新しい PR の作成を示すスクリーンショット。

新しい PR に詳細を追加します。

PR を作成するときに、すべての作業項目、レビュー担当者、または詳細が準備できていなくても心配する必要はありません。 これらの項目は、PR を作成した後で追加または更新できます。

PR のタイトルと説明を編集する

PR のタイトルと説明を最新の状態に保ち、PR の変更をレビュー担当者が理解できるようにします。

既存の PR のタイトルを更新するには、現在のタイトルを選択し、テキストを更新します。 [保存] アイコンを選択して変更を保存するか、[元に戻す] アイコンを選択して変更を破棄します。

[説明] セクションの [編集] アイコンを選択して、PR の説明を編集します。

PR タイトルの編集と説明の [編集] ボタンの選択を示すスクリーンショット。

pull request にレビュー担当者を追加する

新規または既存の PR の [レビュー担当者] セクションでレビュー担当者を追加できます。 ポリシーで要求されている場合を除き、既存の任意のレビュー担当者を必須にしたり、必須のレビュー担当者を任意に変更または削除したりすることもできます。

ブランチ ポリシーでは、最小数のレビュー担当者を要求したり、PR に特定の任意または必須のレビュー担当者を自動的に含めることができます。 ブランチ ポリシーで必須となっているレビュー担当者を削除することはできません。 ブランチ ポリシーの任意のレビュー担当者は、必要に応じて変更することも、削除することもできます。

レビュー担当者を自動的に追加したブランチ ポリシーを表示するには、PR の [概要] ページの [レビュー担当者] セクションで、レビュー担当者の横にある [その他のオプション] を右クリックします。

ブランチ ポリシーに自動的に含まれるレビュー担当者の [ポリシーの表示] を示すスクリーンショット。

PR をレビューするユーザーまたはグループがプロジェクトのメンバーでない場合、それらをレビュー担当者として追加するには、事前にプロジェクトに追加する必要があります。

新しい PR にレビュー担当者を追加するには:

  1. [新しい pull request] ページの [レビュー担当者] で、[レビュー担当者として追加するユーザーとグループを検索してください] を選択します。
  2. 名前またはメール アドレスを入力すると、一致するユーザーとグループの一覧がドロップダウン リストに表示されます。 一覧から名前を選択して、任意のレビュー担当者として追加します。
  3. 必須のレビュー担当者を追加するには、[必須のレビュー担当者の追加] を選択し、[検索して必要なレビュー担当者を追加してください] を選択して名前を検索して選択します。

新しい PR にレビュー担当者を追加するスクリーンショット。

既存の PR にレビュー担当者を追加するには:

  1. [概要] ページの [レビュー担当者] セクションで、[追加] を選択し、[必須のレビュー担当者] または [任意のレビュー担当者] を選択します。

    pull request の概要

  2. 名前またはメール アドレスを入力すると、一致するユーザーまたはグループの一覧が表示されます。 レビュー担当者として追加する名前を選択します。

    PR レビュー担当者の追加。

レビュー担当者を必須と任意の間で変更する、またはレビュー担当者を削除するには、そのレビュー担当者の名前の右側にある [その他のオプション] を選択します。 レビュー担当者として指定されたグループまたはチームのメンバーシップを表示するには、グループのアイコンを選択します。

作業項目を新しい PR にリンクするには:

  1. [新しい pull request] ページの [リンクする作業項目] で、[ID またはタイトルによる作業項目の検索] を選択します。
  2. 作業項目 ID またはタイトルの入力を開始し、表示されるドロップダウン リストからリンクする作業項目を選択します。 タイトルで検索すると、状態に応じて絞り込まれた作業項目が返されます。状態カテゴリが [完了] および [削除済み] の状態を持つすべての作業項目は除外されます。 これらの作業項目は日付とユーザーによっても絞り込まれ、過去 30 日間に作成または更新されたアイテムのみが表示され、現在のユーザーによって作成、割り当て、または承認される必要があります。

作業項目を既存の PR にリンクするには:

  1. PR の [概要] タブの [作業項目] 領域で、[+] を選択します 。

    [概要] タブと [作業項目] セクションの選択を示すスクリーンショット。

  2. 作業項目の ID を入力するか、作業項目のタイトルを検索します。 表示される一覧から作業項目を選択します。

作業項目の横にある [x] アイコンを選択して、作業項目のリンクを削除します。 リンクを削除すると、作業項目と PR の間のリンクのみが削除されます。 ブランチまたはコミットから作成されたリンクは、作業項目に残ります。

PR に作業項目をリンクするには:

  1. PR の [概要] タブを選択します。

    [概要] タブとンク項目ボタンの選択を示すスクリーンショット。

  2. [作業項目] 領域の [追加] ボタンを選択します。 PR の [追加] アイコン

  3. 作業項目の ID を入力するか、テキストに一致するタイトルを持つ作業項目を検索します。 表示される一覧から作業項目を選択します。 タイトルで検索すると、状態に応じて絞り込まれた作業項目が返されます。状態カテゴリが [完了] および [削除済み] の状態を持つすべての作業項目は除外されます。 これらの作業項目は日付とユーザーによっても絞り込まれ、過去 30 日間に作成または更新されたアイテムのみが表示され、現在のユーザーによって作成、割り当て、または承認される必要があります。

作業項目のリンクを削除するには、作業項目の上にマウス ポインターを合わせると表示される [削除] ボタンを選択します。 [削除] ボタン リンクを削除すると、作業項目と PR の間のリンクのみが削除されます。 ブランチまたはコミットから作成されたリンクは、作業項目に残ります。

pull request にタグを追加する

タグを使用して重要な詳細を表示すると、PR の整理に役立ちます。 タグを使用すると、PR がまだ進行中であることや、今後のリリースの修正プログラムであることなど、追加情報をレビュー担当者に伝えることができます。

タグ付きの PR を示すスクリーンショット。

PR の作成時にタグを追加するには、[タグ] セクションにタグ名を入力します。 PR を作成したら、[タグ] セクションでタグを管理できます。

PR の [タグ] セクションが強調表示されているスクリーンショット。

pull request に添付ファイルを追加する

PR の作成時または作成後に、画像などのファイルを添付できます。 [説明] フィールドの下にあるペーパー クリップ アイコンを選択するか、PR の [説明] フィールドに直接ファイルをドラッグ アンド ドロップします。

作成時に PR の説明にファイルを添付することを示すスクリーンショット。

アクティブな pull request のターゲット ブランチを変更する

ほとんどのチームでは、ほぼすべての PR が maindevelop などの既定のブランチをターゲットとしています。 別のブランチをターゲットにする必要がある場合は、PR を作成するときにターゲット ブランチを変更することを忘れがちです。 その場合は、アクティブな PR のターゲット ブランチを変更できます。

  1. PR の [概要] ページの右上にある [その他のアクション] を選択し、ドロップダウン メニューから [ターゲット ブランチの変更] を選択します。
  2. [ターゲット ブランチの変更] ペインで、[ターゲット ブランチの選択]、新しいブランチ、[変更] の順に選択します。

利害関係者に pull request 通知を電子メールで送信する

pull request を電子メールで共有して、レビュー担当者に通知したり、チーム メンバーとコミュニケーションしたりできます。 PR を共有するには:

  1. PR の [概要] ページで [その他のオプション] を選択し、[pull request の共有] を選択します。

    PR の [概要] ページで [pull request の共有] を選択していることを示すスクリーンショット。

  2. [pull request の共有] 画面で、[宛先:] フィールドに名前を入力し、表示されるユーザー名から選択して受信者を追加します。 受信者を削除することもできます。

  3. [メモ (省略可能)] フィールドに省略可能なメッセージを追加し、[送信] を選択します。 受信者は、注意を促し、PR へのリンクを含む電子メールを受け取ります。

注意

組み込みの電子メール機能を使用する場合は、プロジェクト メンバーの個人アドレスにのみメールを送信できます。 [宛先:] 行にチーム グループまたはセキュリティ グループを追加することはサポートされていません。 システムで認識されないメール アカウントを追加すると、メールの 1 人以上の受信者に、メールで送信された pull request を読み取るアクセス許可がないことを示すメッセージが表示されます。

電子メール機能を機能させるには、Azure DevOps Server の管理者が SMTP サーバーを構成する必要があります。

次のステップ