首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure DevOps:如何使用REST更新发布范围内的变量

Azure DevOps:如何使用REST更新发布范围内的变量
EN

Stack Overflow用户
提问于 2019-02-18 21:21:25
回答 1查看 1.6K关注 0票数 2

我正在尝试使用API更新现有版本的发布范围变量。

问题:接收API调用中的异常(PUT https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}?api-version=5.1-preview.8) )

代码语言:javascript
复制
Invoke-RestMethod : {"$id":"1","innerException":null,"message":"You are using an old copy of release. Refresh your copy and try
again.","typeName":"Microsoft.VisualStudio.Services.ReleaseManagement.Data.Exceptions.InvalidRequestException,
Microsoft.VisualStudio.Services.ReleaseManagement2.Data","typeKey":"InvalidRequestException","errorCode":0,"eventId":3000}

重建步骤:

  1. 从现有版本定义中创建发布,而不触发web门户上的任何阶段:https://vsrm.dev.azure.com
  2. 通过调用:GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}?api-version=5.1-preview.8获取发布详细信息
  3. 使用"allowOverride"设置为true的发布作用域变量的值从步骤2更新响应
  4. 使用"modifiedOn“属性将步骤2中的响应更新为比现有值晚的日期
  5. 使用"definitionSnapshotRevision“属性将步骤2的响应更新为现有值,增量为1
  6. 通过调用:PUT https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}?api-version=5.1-preview.8并提供步骤2-5中生成的json更新发布。
  7. 观察上述异常

我已经更新了2个发布属性(modifiedOn和definitionSnapshotRevision),因为我看到如果使用web站点(https://vsrm.dev.azure.com)更新版本,这些值会发生变化。看来我还漏了什么东西。在有关如何正确更新发布部署的文档中,我找不到任何指导。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-09 00:38:56

我使用“Invoke RestMethod”powershell命令获取发布元数据。这个命令返回自定义的ps对象,然后我更新它,使用“ConvertTo”命令将其转换为json,并在PUT HTTP请求正文中提供给DevOps以更新发行版。问题是,Powershell序列化/反序列化过程不会导致原来的json。例如,这个json属性:

代码语言:javascript
复制
"preDeploymentGatesSnapshot": {
    "id": 0,
    "gatesOptions": null,
    "gates": []
},

变成:

代码语言:javascript
复制
"preDeploymentGatesSnapshot": "@{id=0; gatesOptions=; gates=System.Object[]}"

在API调用中的PUT请求正文中使用正确的json之后:

https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}?api-version=5.1-preview.8

发行版已成功更新。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54755547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档