Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020
ブランチ ポリシーは、すべてのプル要求の要件を確立することで、リポジトリ内の高品質のコードを確保するための強力な機能です。 外部サービスでは、PR Status API を使用して、詳細な状態を PR に投稿できます。 外部サービスのブランチ ポリシーでは、これらのサード パーティのサービスが PR ワークフローに参加し、ポリシー要件を確立できます。 この記事では、PR ステータスを投稿するサービスのブランチ ポリシーを構成するプロセスについて説明します。 PR 状態の詳細については、「 プル要求の状態を使用して pull request ワークフローをカスタマイズおよび拡張する」を参照してください。
[前提条件]
カテゴリ | Requirements |
---|---|
プロジェクトへのアクセス権 | プロジェクトのメンバー。 |
アクセス許可 | - プライベート プロジェクトのコードを表示する: 少なくとも Basic アクセス。 - プライベート プロジェクトのコードを複製または投稿する: 共同作成者 セキュリティ グループのメンバー、またはプロジェクト内の対応するアクセス許可。 - ブランチまたはリポジトリのアクセス許可を設定する: ブランチまたはリポジトリの アクセス許可を管理 します。 - 既定のブランチを変更する: リポジトリ のポリシー のアクセス許可を編集します。 - リポジトリをインポートする: プロジェクト管理者 セキュリティ グループのメンバーまたは Git プロジェクト レベルの [リポジトリ の作成 ] アクセス許可が [許可] に設定されています。 詳細については、「 Git リポジトリのアクセス許可を設定する」を参照してください。 |
サービス | リポジトリが有効になっています。 |
ツール | Optional. az repos コマンドを使用する: Azure DevOps CLI。 |
注
パブリック プロジェクトでは、 利害関係者 アクセス権を持つユーザーは、コードの表示、複製、投稿など、Azure Repos へのフル アクセス権を持ちます。
カテゴリ | Requirements |
---|---|
プロジェクトへのアクセス権 | プロジェクトのメンバー。 |
アクセス許可 | - コードの表示: 少なくとも 基本 アクセス。 - コードの複製または投稿: 共同作成者 セキュリティ グループのメンバー、またはプロジェクト内の対応するアクセス許可。 |
サービス | リポジトリが有効になっています。 |
ブランチ ポリシーを構成する
Code>Branches に移動し、ポリシーを構成するブランチ (通常は
main
またはdevelop
) を見つけます。 コンテキスト メニューから、[ ブランチ ポリシー ] オプションを選択します。下にスクロールして 状態チェックを見つけます。 [ + ] ボタンを選択します。
ポリシーを作成するサービスを一覧から選択します。 ステータスが以前に転記されている場合は、リストから選択できます。新しいポリシーの場合は、ポリシーの名前を入力できます。
- ポリシー要件 は、このポリシーがオプションであるか、ブランチへのプル要求を完了するために必要かを決定します。
- 承認された ID は、指定された ID からの状態のみがポリシーフルフィルメントにカウントされるように強制するために使用されます。
- リセット条件 は、転記された状態が無効になったタイミングを判断するために使用されます。 投稿された状態が最新のコード (ビルド) に固有の場合は、ソース ブランチが 変更されたときに状態をリセットするために、新しい変更がある場合は常 に [状態のリセット] をオンにします。
- 必要に応じて 、パス フィルターを設定します。 分岐ポリシーの パス フィルター の詳細について説明します。
- ポリシーの適用性 によって、プル要求が作成されるとすぐにこのポリシーが適用されるか、または最初の状態が pull request にポストされた後にのみポリシーが適用されるかが決まります。
- 既定の表示名 を使用すると、ポリシーのオプションの表示名を指定できます。
新しい pull request を作成する
ポリシーが定義されているブランチに新しいプル要求を作成します。 詳細については、「 プル要求の作成」を参照してください。
PR を作成すると、PR の詳細ビューの [ポリシー] セクションに新しいポリシーが表示されます。 最初は、外部サービスが状態を投稿するまで、ポリシーは設定されていないように表示されます。
サービスが状態を投稿すると、それに応じてポリシーが更新されます。 完了は、ポリシーが PR を承認するまでブロックされます。
ポリシー条件が満たされ、サービスが
succeeded
状態を投稿すると、PR が承認され、完了がブロック解除されます。
概要
この記事では、外部サービスのブランチ ポリシーを構成する方法について説明しました。