我需要根据https://docs.microsoft.com/en-us/rest/api/vsts/build/builds/queue?view=vsts-rest-4.1上记录的REST API对VSTS构建进行排队
This answer帮助我对一个基本的构建进行了排队。我已经成功地使用个人访问令牌(PAT)进行身份验证,并且此json有效负载
{
definition: {
id: 19,
}
}
我还需要将变量传递到构建中。这些是我尝试过的一些东西,它们是不工作的
不工作%1
{
definition: {
id: 19,
variables: {
"my.var.one": { allowOverride: true, isSecret: false, value: "stringvalue" },
"my.var.two": { allowOverride: true, isSecret: false, value: "numberValue" }
}
}
}
不工作2
{
definition: {
id: 19,
variables: {
"my.var.one": { value: "stringvalue" },
"my.var.two": { value: "numberValue" }
}
}
}
不工作3
{
definition: {
id: 19,
variables: {
"my.var.one": "stringvalue",
"my.var.two": "numberValue"
}
}
}
有人认为this question可能有答案,因为VSTS和TFS很相似。不幸的是,更改为参数变量并使用对象的字符串表示会得到相同的结果。删除参数名称中的点不会有什么不同。尝试使用API版本3.1也得到了相同的结果。
不工作4
{
definition: {
id: 19,
parameters: '{
"myVarOne": "stringValue",
"myVarTwo": "numberValue"
}'
}
}
将有效负载(或其他位置)中的变量格式化以将其传递到您尝试排队的构建的正确方法是什么?
发布于 2018-06-14 04:24:48
使用Chrome开发人员工具在web UI中捕获队列操作的有效负载,我敢猜测您正在寻找的格式是:
POST https://dev.azure.com/jessehouwing/6484ebc3-af16-4af9-aa66-6b3398db7214/_apis/build/builds
{
"queue": {
"id": 27
},
"definition": {
"id": 53
},
"project": {
"id": "6484ebc3-af16-4af9-aa66-6b3398db7214"
},
"sourceBranch": "refs/heads/master",
"reason": 1,
"demands": [],
"parameters": "{\"system.debug\":\"true\",\"DefinedVariable\":\"Override Value\"}"
}
https://stackoverflow.com/questions/50838651
复制相似问题