开始构建并通过 Azure DevOps Rest 传递变量 API
Start a build and passing variables through Azure DevOps Rest API
我想通过 REST API 启动 Azure Pipelines 构建。有一个 API for queuing builds 但我找不到定义变量的方法。
变量包含在 definitions 中,您可以先更新构建定义以通过构建定义 api 设置变量,然后将构建排队。
以下是通过构建定义获取的变量部分api:
"variables": {
"system.debug": {
"value": "false",
"allowOverride": true
},
"BuildConfiguration": {
"value": "release",
"allowOverride": true
},
"BuildPlatform": {
"value": "any cpu",
"allowOverride": true
}
},
当您需要在排队时设置值时,接受的答案并没有真正回答问题。
解决方案实际上非常简单,您只需将 parameters
字段添加到 json 有效负载即可。内容应该是包含参数的 json 字符串(不是直接对象)
例如:
{
"parameters": "{\"ReleaseNumber\": \"1.0.50\", \"AnotherParameter\": \"a value\"}",
"definition": {
"id": 2
}
}
编辑:此功能现在已正确记录为 an optional stringified dictionary
。参见 https://www.visualstudio.com/fr-fr/docs/integrate/api/build/builds#queue-a-build
对于任何遇到此问题的人(我遇到过),自接受的答案以来使用的 APIs 有所不同(对我来说根本不起作用)。但是按照 Cyprien Autexier 的建议,我查看了引擎盖下的内容(Firefox 开发工具),我注意到该门户不再使用构建 API。它使用管道一(https://docs.microsoft.com/en-us/rest/api/azure/devops/pipelines/runs/run-pipeline?view=azure-devops-rest-6.1)。有了这个,工作完美。
对于任何看到这个的人,我能够使它与 'templateParameters' 一起使用,它允许您发送 Object
而不是 String
版本 7.1.
- 方法:
POST
- URL:
https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.1-preview.7
- 正文:JSON 示例:
{
"sourceBranch":"Development",
"definition": {
"id": 5
}
"templateParameters": {
"PARAMETER1": "value1",
"parameter2": "valuex"
}
}
文档:https://docs.microsoft.com/en-us/rest/api/azure/devops/build/builds/queue?view=azure-devops-rest-7.1
我想通过 REST API 启动 Azure Pipelines 构建。有一个 API for queuing builds 但我找不到定义变量的方法。
变量包含在 definitions 中,您可以先更新构建定义以通过构建定义 api 设置变量,然后将构建排队。
以下是通过构建定义获取的变量部分api:
"variables": {
"system.debug": {
"value": "false",
"allowOverride": true
},
"BuildConfiguration": {
"value": "release",
"allowOverride": true
},
"BuildPlatform": {
"value": "any cpu",
"allowOverride": true
}
},
当您需要在排队时设置值时,接受的答案并没有真正回答问题。
解决方案实际上非常简单,您只需将 parameters
字段添加到 json 有效负载即可。内容应该是包含参数的 json 字符串(不是直接对象)
例如:
{
"parameters": "{\"ReleaseNumber\": \"1.0.50\", \"AnotherParameter\": \"a value\"}",
"definition": {
"id": 2
}
}
编辑:此功能现在已正确记录为 an optional stringified dictionary
。参见 https://www.visualstudio.com/fr-fr/docs/integrate/api/build/builds#queue-a-build
对于任何遇到此问题的人(我遇到过),自接受的答案以来使用的 APIs 有所不同(对我来说根本不起作用)。但是按照 Cyprien Autexier 的建议,我查看了引擎盖下的内容(Firefox 开发工具),我注意到该门户不再使用构建 API。它使用管道一(https://docs.microsoft.com/en-us/rest/api/azure/devops/pipelines/runs/run-pipeline?view=azure-devops-rest-6.1)。有了这个,工作完美。
对于任何看到这个的人,我能够使它与 'templateParameters' 一起使用,它允许您发送 Object
而不是 String
版本 7.1.
- 方法:
POST
- URL:
https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=7.1-preview.7
- 正文:JSON 示例:
{ "sourceBranch":"Development", "definition": { "id": 5 } "templateParameters": { "PARAMETER1": "value1", "parameter2": "valuex" } }
文档:https://docs.microsoft.com/en-us/rest/api/azure/devops/build/builds/queue?view=azure-devops-rest-7.1