Azure DevOps Server・REST API
「The latest REST API version this server supports is 7.0.」
スクリプトや道具が、サーバーの知らない新しい api-version で Azure DevOps Server を呼んでいます。サーバーは HTTP 400 で断り、自分の持っているいちばん新しい版を教えてくれます。その版で送り直せば通ります。
返ってくるもの全体
HTTP 400
{
"message": "The requested REST API version of 9.9 is out of range for this server. The latest REST API version this server supports is 7.0.",
"typeKey": "VssVersionOutOfRangeException",
...
}
和訳:「要求された REST API の版 9.9 は、このサーバーの範囲外です。このサーバーが対応するいちばん新しい REST API の版は 7.0 です。」前の数字が送った版、後ろの数字がサーバーの最新の版です。道具によっては、この文だけ、または「HTTP 400」だけが出ます。
サーバーごとの答え
どれも新しく入れたサーバー(Express 版・2026年10月15〜16日)に {コレクション}/_apis/projects?api-version=9.9 を送りました。
| サーバー | 答えの中の最新の版 |
|---|---|
| Azure DevOps Server 2022(最初の版) | 7.0 |
| Azure DevOps Server 2020 Update 1 | 6.1(ただし「is under preview」を参照) |
| Azure DevOps Server 2019 Update 1.1 | 5.1 |
| Team Foundation Server 2018 Update 3 | この文は出ない。HTML のページが返る(「Page not found」を参照) |
呼び出しの直し方
- 文の中の数字を呼び出しに入れる:
?api-version=7.0 - 6.1 や 5.1 のように小数点の後ろがある版は、API の一部でまだ試用版(preview)扱いのことがあります。Azure DevOps Server 2020 Update 1 では、Git の呼び出しが 6.1 を断り、6.0 で通りました。
- いくつものサーバーと話すスクリプトなら:この文の HTTP 400 が来たら数字を読み、その版で1回だけ送り直し、そのサーバーの版として覚えておく。
Microsoft の版の表:Azure DevOps の REST API のバージョン管理(2022 は 7.0、2020 は 6.0、2019 は 5.0、TFS 2018 は 4.0 まで)。
IntelliJ IDEA・Rider など JetBrains IDE なら
Azure DevOps Pull Requests は、JetBrains IDE(2024.1 以降)のプルリク用プラグインです。この答えを読んで、サーバーの版まで自分で下げます。上の表のどのサーバーでも、そのまま受信箱・差分・コメント・投票・完了まで通りました。読むのは無料、投票・コメント・完了は Pro(30日間の無料試用つき)です。
ほかに:「API resource location … is not registered on …」 · TFS 2018・Server 2019 で使う · English