通过 REST 发布变量 API - Visual Studio Team Services

Release Variables through REST API - Visual Studio Team Services

是否可以将变量值传递到 REST 端点以在 VSTS 中进行发布管理?例如。根据以下请求调用 PUT https://tfs.vsrm.visualstudio.com/defaultcollection/{project}/_apis/release/releases/30?api-version=3.0-preview.4

{
  "id": 30,
  "name": "Release-3",
  "variables": {
    "VariableName": {
      "value": "testing123"
    }
  }
}

如果我调用 POST https://k2tfs.vsrm.visualstudio.com/density/_apis/release/releases/?api-version=3.0-preview.4 然后获取该响应并在上面的请求中使用它,我会以某种方式设法让它工作。这是唯一的方法吗?

无法在创建新版本时更改变量值。

按照你的方式,修改了创建的发布变量值,修改后的值可以在部署发布时使用。

另一种方法是,您可以创建草稿发布,

Post:

https://[account].vsrm.visualstudio.com/[project]/_apis/release/releases/?api-version=3.0-preview.4

application/json:

{
  "definitionId": [release definition id],
  "isDraft":true
}

然后更新变量的值(如您所说)

之后,您可以通过Modifying the status of a release(活动)

开始发布
{
    "status": "Active"
}

现在您可以将 VSTS Release 变量定义为 "Settable at release time"。然后在 VSTS REST API 中可以在创建发布时传递变量值。当您尝试在 VSTS WEB UI 中创建一个版本时,您也可以这样做。有关详细信息,请参阅 this answer here.