rest - VSTS 使用 API 在排队时设置构建参数
问题描述
这个答案帮助我排队了一个基本的构建。我已成功使用个人访问令牌 (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"
}
}
}
有人建议这个问题可能有答案,因为 VSTS 和 TFS 是相似的。不幸的是,更改为参数变量并使用对象的字符串表示会得到相同的结果。从参数名称中删除点并没有什么不同。尝试使用 API 版本 3.1 也得到了相同的结果。
不工作 4
{
definition: {
id: 19,
parameters: '{
"myVarOne": "stringValue",
"myVarTwo": "numberValue"
}'
}
}
在有效负载(或其他位置)中格式化变量以将它们传递给您尝试排队的构建的正确方法是什么?
解决方案
使用 Chrome 开发人员工具在 Web UI 中捕获 Queue 操作的有效负载,我猜测您正在寻找的格式是:
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\"}"
}
推荐阅读
- c - 命令 gdb 出错。eclipse中的调试问题
- c++ - 在 C++ 标准中滥用 std::memory_order::relaxed 的示例 [algorithms.parallel.exec/5 in n4713]
- apollo - 如何通过 Apollo 客户端中的本地解析器运行外部查询
- macos - 如何在 MacOS 上自动挂载 NFS 共享
- rxjs - 我无法获取 NgRx 数据来触发 API 调用
- sql - SQL - 如果没有可用数据,则获取回退值
- c++ - 如何使用 GSL 库将 Jacobi 矩阵引用为空指针
- python-3.x - 安装 pip3 后找不到
- scala - Spark Save 作业需要很长时间
- kubernetes - 在 istio 中实施服务条款检查