【发布时间】:2020-04-15 17:40:15
【问题描述】:
堆栈中有一些相关的问题,我将它们放在下面。我正在使用 Azure DevOps api 5.1 并尝试将构建排队。
{
"Definition": {
"id": "7"
}
}
这将使用已在定义中设置的变量对构建进行排队。我尝试以几种不同的方式传递变量,但最终都没有被 API 支持。
{
"Definition": {
"id": "7",
"variables": {
"tag": "@{value=v1.1.0}",
"system.debug": "@{value=true}"
}
}
}
根据我也尝试过的一些相关问题
{
"Definition": {
"id": "7",
"parameters": {
"tag": "@{value=v1.1.0}",
"system.debug": "@{value=true}"
}
}
}
在通过 UI 对构建进行排队时从 chrome 捕获输出后,它似乎期望变量而不是参数,但是当我返回查看构建时看到的是传入的变量不是荣幸。此外,我已经采用了我希望运行的定义并将其隐藏到上面的 body.definition 中。
VSTS use API to set build parameters at queue time
TFS 2017 API; Queuing a build with variables
How to QUEUE a new build using VSTS REST API
如果我应该添加更多细节,请告诉我我没有放实际代码,但它非常简单
Invoke-RestMethod -Method post -Uri $uri -Headers $Header -ContentType 'application/json' -Body ($Body |ConvertTo-Json -Compress -Depth 10)
【问题讨论】:
-
我应该补充一点,我正在运行的构建是一个简单的 powershell 脚本,它会踢出标记变量以进行确认,我没有看到我传入的值。
-
也刚刚注意到上面呈现的代码有@'s 我认为这是一个堆栈格式化的东西,因为在运行的代码中没有@'s。