Azure devops 启动构建并通过Azure DevOps Rest API传递变量

Azure devops 启动构建并通过Azure DevOps Rest API传递变量,azure-devops,azure-pipelines,azure-devops-rest-api,Azure Devops,Azure Pipelines,Azure Devops Rest Api,我想通过RESTAPI启动Azure管道构建。有一个,但我找不到定义变量的方法。变量包含在中,您可以更新生成定义,首先通过生成定义api设置变量,然后将生成排队 以下是通过构建定义api获取的变量部分: "variables": { "system.debug": { "value": "false", "allowOverride": true }, "BuildConfiguration": { "value": "releas

我想通过RESTAPI启动Azure管道构建。有一个,但我找不到定义变量的方法。

变量包含在中,您可以更新生成定义,首先通过生成定义api设置变量,然后将生成排队

以下是通过构建定义api获取的变量部分:

  "variables": {
    "system.debug": {
      "value": "false",
      "allowOverride": true
    },
    "BuildConfiguration": {
      "value": "release",
      "allowOverride": true
    },
    "BuildPlatform": {
      "value": "any cpu",
      "allowOverride": true
    }
  },

当您需要在队列时间设置值时,接受的答案并不能真正回答问题。 该解决方案实际上非常简单,您只需向json负载添加一个
参数
字段。内容应该是包含参数的json字符串(不是直接的对象) 例:


编辑:此功能现在被正确地记录为
可选的字符串化词典
。请参见

谢谢,首先设置变量,然后设置队列可能是一种可行的解决方法。但这改变了每次运行的构建定义,并扰乱了历史。由于可以在从UI对生成进行排队时设置变量,因此如果REST API提供了相同的功能就更好了。至少对我来说,传入变量似乎也不像广告中那样有效。如果要连续多次调用此API,则此选项可能无法正常工作,在调用队列生成之前,可能无法保存它。我需要连续调用它50次,每次调用不同的参数。所以我会用公认的答案,即使它不那么漂亮。很好!我很好奇你是如何发现这一点的,因为文档(如问题中的链接)似乎没有提到这一点。这只是一个未记录的特性吗?好的方面是,当前门户使用与我们相同的rest API,因此chrome开发者工具或fiddler在发现如何操作时非常有用:)。如果答案对你有帮助,你可以投上一票;)。其他人注意:当通过API启动构建时,您还可以添加一个
reason
字段,但请注意,虽然文档指定“buildCompletion”是字符串选项之一,但调用将失败。这里列出了真正的原因——在为azure devops的api 5.1构建排队时放置参数部分非常困难。
{
    "parameters":  "{\"ReleaseNumber\":  \"1.0.50\", \"AnotherParameter\":  \"a value\"}",
    "definition":  {
                       "id":  2
                   }
}