Azure DevOps REST API 获取请求无效

Azure DevOps REST API get request not working

我希望能够使用 Azure DevOps REST API 获取有关最新管道构建的信息。我在 1 月 12 日更新后使用 Azure DevOps Server 2020。

这是我正在使用的 API 端点: https://[机构url]/[项目名称]/_apis/build/latest/succeeded?api-version=6.0-preview.1

发出 GET 请求后出现此错误:

{"$id":"1","innerException":null,"message":"Build pipeline succeeded was not
     | found.","typeName":"Microsoft.TeamFoundation.Build.WebApi.DefinitionNotFoundException,
     | Microsoft.TeamFoundation.Build2.WebApi","typeKey":"DefinitionNotFoundException","errorCode":0,"eventId":3000}

我还尝试了 API 端点的这些变体:

我最终遇到了同样类型的错误。我知道基础 API url 有效,因为我能够使用 Get Commits 端点获得有效响应。

如何让 url 工作?

更新: 使用@GChamon 答案作为指南,我获得了最新的成功构建。

这是对我有用的url:

http://[organization url]/[project name]/_apis/build/builds?resultFilter=succeeded&api-version=6.0

有趣的是,当我尝试只使用 `.../build/builds' 而不使用任何可选参数时,它没有 return 任何结果。当我添加一个可选参数(如 resultFilter 或 statusFilter)时,它 returned 结果。

根据 https://docs.microsoft.com/en-us/rest/api/azure/devops/build/latest/get?view=azure-devops-rest-6.0 latest REST 资源后面的名称是管道定义名称或 ID。此错误意味着您没有名为 succeeded 的管道。这是整个 API 调用:

GET https://dev.azure.com/{organization}/{project}/_apis/build/latest/{definition}?api-version=6.0-preview.1

哪里

definition = definition name with optional leading folder path, or the definition id

您应该仔细检查您在 latest 之后传递了正确的管道定义 ID。