Lesstep
Azure DevOps Services と Server・REST API と Azure CLI と自動化・2026年10月24日に確認

Azure DevOps の「This pull request requires an explicit override to bypass policies that aren't currently passing.」

「いま通っていないポリシーを無視するには、明示的な上書きが要る」という意味です。プルリクエストにもトークンにも問題はありません。ターゲット ブランチのポリシー(必須のレビュアーやビルドなど)がまだ通っておらず、いま完了するとそれを飛ばすことになります。要求がはっきりポリシーの無視を求め、アカウントにその許可がある時を除き、Azure DevOps は完了を HTTP 403 で断ります。

答えの全体

2019年〜2026年5月の公開の報告が引いている形です。REST API、Azure CLI、プルリクエストを自分でマージする道具から出ます:

HTTP/1.1 403 Forbidden

{"$id":"1","innerException":null,"message":"This pull request requires an explicit override to bypass policies that aren't currently passing.","typeName":"Microsoft.TeamFoundation.Git.Server.GitPullRequestUpdateRejectedByPolicyException, Microsoft.TeamFoundation.Git.Server","typeKey":"GitPullRequestUpdateRejectedByPolicyException","errorCode":0,"eventId":3000}

どのポリシーが通っていないかを見る

どうするか

  1. ポリシーを通す:必須のレビュアーに承認を頼む、失敗したビルドをもう一度走らせる、作業項目をリンクする、コメントを解決する。一覧に出ている物をそろえます。
  2. 自分で完了させる:自動完了をオンにすると、必須のポリシーが全部通った時に Azure DevOps が完了させます。Web では Set auto-complete、Azure CLI では az repos pr update --id <id> --auto-complete true です。後者は任意のポリシーまで待つことがあります(自動完了と任意のポリシー)。
  3. 認められたマージの種類を選ぶ:ブランチがマージの種類を絞っていたら、認められた種類で完了します(マージの種類と Limit merge types)。
  4. 許可があれば上書きする:Web では完了の時に Override branch policies and enable merge にチェックを入れ、Azure CLI では az repos pr update --id <id> --status completed --bypass-policy true --bypass-policy-reason "<理由>" です。どちらもリポジトリの許可 Bypass policies when completing pull requests が要ります(Microsoft の完了のページでは Exempt from policy enforcement と書かれています)。(Microsoft:プルリクエストを完了する)
  5. スクリプトやボットでは、"status": "completed" を送る同じ要求の completionOptions に、"bypassPolicy": true と bypassReason を入れ、トークンかパイプラインの ID にその許可を与えます。許可が無ければ 403 のままです。Azure CLI は以前、この設定をプルリクエストに持ちながら完了の要求には送っておらず、2019年に直るまでこのメッセージで止まっていました。

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

Azure DevOps Pull Requests は、Lesstep が作っている JetBrains IDE(2024.1 以降)と Android Studio のプラグインです。組織・プロジェクト・リポジトリを git のリモートから読み、自分のレビューを待っているプルリクエストを IDE のツールウィンドウに並べます。Azure DevOps Services でも Azure DevOps Server でも使えます。プルリクエストのブランチのポリシーを状態つきで見せ、失敗したビルドをもう一度走らせられます。必須のポリシーが通っていない時は、完了の画面が先に自動完了を勧めます。1.0.41 からは、それでも完了がこの形で断られた時、トークンではなくブランチのポリシーに断られたことを出し、自動完了と Bypass の許可を案内します。レビューの受け箱は無料、投票・コメント・完了・作成は Pro(30日間の無料試用つき)です。画面は日本語です。

JetBrains Marketplace で入れる

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

ほかに:TF401181:もう完了か破棄されている · TF401027:Git の許可が無い · TF402455:このブランチへの push は許可されていない · 承認が数えられない理由 · English