外部サービスのブランチ ポリシーの構成

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

ブランチ ポリシーは、すべてのプル要求の要件を確立することで、リポジトリ内の高品質のコードを確保するための強力な機能です。 外部サービスでは、PR Status API を使用して、詳細な状態を PR に投稿できます。 外部サービスのブランチ ポリシーでは、サード パーティのサービスが PR ワークフローに参加し、ポリシー要件を確立できます。 この記事では、PR 状態を投稿するサービスのブランチ ポリシーを構成する手順について説明します。 PR 状態の詳細については、「プル要求状態でプル要求ワークフローをカスタマイズして拡張する」を参照してください。

前提条件

  • Git リポジトリを使用する Azure DevOps の組織。 組織がない場合は、サインアップして、無制限の無料プライベート Git リポジトリでコードをアップロードして共有します。
  • PR に状態を投稿するサービス。 プル要求状態サーバーの作成に関するページを参照してください。

ブランチ ポリシーを構成する

  1. [コード]>[ブランチ] に移動し、ポリシーを構成する対象のブランチ (通常は main または develop) を見つけます。 コンテキスト メニューから、[ブランチ ポリシー] オプションを選択します。

    コンテキスト メニューから [ブランチ ポリシー] を選択する

  2. 下にスクロールして [状態の確認] を見つけます。 + ボタンを選択します。

    [ポリシーの追加] ボタンを選択する

  3. ポリシーを作成する対象のサービスを一覧から選択します。 状態が以前に投稿されたことがある場合は、一覧の中から選択できます。新しいポリシーの場合は、ポリシーの名前を入力できます。

    一覧からポリシーを選択する

    • ポリシー要件は、ブランチへのプル要求を完了するためにこのポリシーが省略可能であるか、必須であるかを決定します。
    • 承認された ID は、指定された ID のみからの状態がポリシーの実現に反映されることを強制するために使用されます。
    • 条件のリセットは、投稿された状態が無効になった時点を判別するために使用されます。 投稿された状態が最新のコード (ビルド) に固有の場合は、[新しい変更が加えられるたびに状態をリセットします] にチェックマークを付けて、ソース ブランチが変更されたときに状態をリセットします。
    • 必要に応じて、[パス フィルター] を設定します。 ブランチ ポリシーにおけるパス フィルターの詳細を参照してください。
    • ポリシーの適用性は、プル要求が作成されるとすぐにこのポリシーが適用されるか、または最初の状態がプル要求に投稿された後にのみポリシーが適用されるかを決定します。
    • 既定の表示名を使用すると、ポリシーのオプションの表示名を指定できます。

新しい pull request を作成する

  1. ポリシーが定義されているブランチに新しい pull request を作成します。 詳細については、「pull request を作成する」を参照してください。

  2. PR を作成すると、PR 詳細ビューの [ポリシー] セクションに新しいポリシーが表示されます。 最初は、外部サービスから状態が投稿されるまで、ポリシーは未設定として表示されます。

    ポリシーの状態が [ポリシー] セクションに表示

    サービスから状態が投稿されると、それに応じてポリシーが更新されます。 ポリシーが PR を承認するまで、完了はブロックされます。

    ポリシーの状態の更新

    ポリシー条件が満たされ、サービスから succeeded 状態が投稿されると、PR が承認され、完了のブロックが解除されます。

    ポリシーの状態が承認済みになり、完了のブロックが解除

まとめ

この記事では、外部サービスのブランチ ポリシーを構成する方法について説明しました。