Lesstep
Azure DevOps Services・Server・ブランチ ポリシー・2026年10月25日

Azure DevOps:承認が「最低レビュー担当者数」に数えられない理由

ブランチ ポリシー Require a minimum number of reviewers(最低限のレビュー担当者数を必須にする)は承認を数えますが、どの承認でも数えるわけではありません。ポリシーのいくつかの設定が、どの投票を数えるかを決め、ソース ブランチへの push が承認を外すこともあります。承認の数は足りているのにポリシーが満たされないときは、たいていこの設定のどれかが理由です。

設定

Microsoft のページ Set and manage branch policies(英語・2026年7月更新)から:

名前を決めたレビュー担当者は、別のポリシー Automatically included reviewers(自動的に含まれるレビュー担当者)です。Required にすると、追加した人は全員が、グループはそれぞれ少なくとも1人が承認する必要があり、最低数とは別に求められます。こちらにも Allow requestors to approve their own changes があります。

「At least 1 reviewer besides most recent pusher must approve the most recent iteration」

(「直近にプッシュした人以外のレビュー担当者が少なくとも1人、最新のイテレーションを承認する必要がある」)満たされていないポリシーは、プルリクエストに1行で出ます。検索されているのは、この行や「At least one reviewer must approve the most recent iteration」のような行です。行の部分は、それぞれ上の設定の1つです。

まとめると、最新の push の後に、その push をした人以外が承認します。ほかに承認できる人がいなければ、リポジトリの権限 Bypass policies when completing pull requests を持つ人がポリシーを上書きできます(ポリシーを回避する明示的なオーバーライド)。

よくある場面

  1. 自分で作ったプルリクエストを自分で承認した。ポリシーが依頼者の承認を許していなければ数えません。
  2. 同僚のプルリクエストに直しを push してから承認した。「直近にプッシュした人」の禁止があると、自分の承認は数えなくなります。別のレビュー担当者の承認が要ります。
  3. push の後に承認が消えた。ソース ブランチが変わると承認(またはすべての投票)をリセットする設定です。レビュー担当者が新しいコミットをもう一度承認します。
  4. 承認は足りているのに満たされない。数えない承認(作成者の、最後に push した人の)、最新の push への承認を求める設定、完了を許していない「却下」や「作成者を待機」を探します。
  5. 数は満たしているのに、完了が断られる。ほかのポリシーが通っていません。必須のレビュー担当者、ビルド、コメントの解決、作業項目のリンク。ポリシーを回避する明示的なオーバーライドへ。

スクリプトでは

Azure CLI では az repos policy approver-count create か update でこのポリシーを設定し、--creator-vote-counts・--allow-downvotes・--reset-on-source-push が上の設定にあたります。プルリクエストのポリシーが満たされない理由は、そのプルリクエストのポリシー評価(GET {project}/_apis/policy/evaluations?artifactId=…・プレビューの API)で、ポリシーごとの状態と設定が分かります。このポリシーの設定には minimumApproverCount・creatorVoteCounts・blockLastPusherVote・requireVoteOnLastIteration・requireVoteOnEachIteration・allowDownvotes があります。

IntelliJ IDEA と Rider で Azure DevOps のプルリクエストを

Azure DevOps Pull Requests は、Lesstep が作っている JetBrains IDE(2024.1 以降)と Android Studio のプラグインです。自分のレビューを待っているプルリクエストを IDE のツールウィンドウに並べます。Azure DevOps Services でも Azure DevOps Server でも使えます。プルリクエストのブランチ ポリシーを、状態つきの文で見せます。このポリシーなら、たとえば「2 人以上の承認。作成者自身の投票は数えない。直近にプッシュした人の承認は数えない。最新のプッシュへの承認が必要」。その横にビルド、コメントの解決、作業項目。1.0.44 からは、開いた後にソース ブランチへ新しいコミットが入っていたら、承認を送りません。承認はそのコミットにも効くためです。レビューの受け箱とブランチ ポリシーは無料、投票・コメント・完了・作成は Pro(30日間の無料試用つき)です。画面は日本語です。

JetBrains Marketplace で入れる

Azure DevOps は Microsoft Corporation の商標、IntelliJ IDEA と Rider は JetBrains s.r.o. の商標です。このページは Microsoft・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:5つの投票の意味 · 必須のレビュー担当者とパスの絞り込み · ポリシーを回避する明示的なオーバーライド · TF402455:このブランチへの push は許可されていない · IntelliJ IDEA で使える Azure DevOps のプルリクエストのプラグインの比較 · English