【发布时间】:2021-06-28 15:54:36
【问题描述】:
我正在尝试使用 REST API 创建一个版本(从我的角度来看,启动一个发布管道)。背景是它应该在我们的 Jenkins 系统上运行——我们目前使用旧的 TFS 插件来实现这个功能,但是需要从我们的系统中删除它,这是阻止我们的一件事。我正在尝试直接使用 curl 来调用 API。我最初遇到了身份验证问题(尝试使用“-u 用户名:PAT”,但现在已切换到将 base64(“:PAT”)作为授权标头传递,事情似乎已经继续。
我现在不断收到 400 个错误,据报道这是错误数据。它似乎是有效的 json,所以我想知道是否缺少某些东西。问题(至少对我而言)是https://docs.microsoft.com/en-us/rest/api/azure/devops/release/releases/create?view=azure-devops-rest-5.0 上的文档没有说明正文需要哪些字段以及哪些字段是可选的。我必须假设 descriptionId 是必需的,而其他一些是可选的,但不是很清楚:)
这本身不是 Jenkins - 我从 bash 手动调用时遇到了同样的错误。我目前的卷曲线看起来像:
curl -X POST -f -H 'Authorization: Basic ${BASE64}' -H 'Content-Type: application/json' -d '{"definitionId":27,"description":"由本地触发" ,"isDraft":false}' 'https://vsrm.dev.azure.com/${ORGANIZATION}/${PROJECT}/_apis/release/releases?api-version=5.0'
我从特定发布管道的 Web UI 获得的 27(.../release?definitionId=27&view=mine&_a=releases - 我认为这是正确的)。现在一头雾水。有没有办法获得更多有用的错误信息?有人有建议吗?
【问题讨论】:
标签: azure