如何使用Postman为Azure DevOps发布添加新阶段?
用Postman给Azure DevOps发布定义添加新阶段(复用现有模板)
步骤1:获取目标发布定义的完整结构
你之前调用的GET接口方向是对的,需要拿到完整的定义数据才能进行修改:
- 替换接口中的
{organisation}、{project}、{id}(这里的id是发布定义ID,在Azure DevOps发布页面的URL里就能找到) - 请求方式:
GET - 认证设置:在Postman的Headers中添加
Authorization: Basic {base64编码的PAT}(PAT需要包含**Release Management (Read & Write)**权限,编码规则是把PAT作为用户名、密码留空,再做base64转换) - 将返回的完整JSON保存下来,后续修改都基于这个结构
步骤2:获取复用的发布阶段模板
要拿到模板的完整阶段结构,调用以下接口:
GET https://vsrm.dev.azure.com/{organisation}/{project}/_apis/release/definitions/templates/{templateId}?api-version=6.0
templateId获取方式:在Azure DevOps的发布模板库中打开目标模板,URL里的数字就是模板ID- 从返回的JSON里,找到
stages数组下的唯一stage对象,完整复制这个对象
步骤3:构造更新后的请求体
打开步骤1保存的JSON,找到stages数组,把步骤2复制的stage对象粘贴到数组末尾,同时调整几个关键字段:
- 修改
name:给新阶段设置一个唯一名称,避免和现有阶段重复 - 检查
variables:如果模板包含变量,确保这些变量在你的发布定义中已存在,或者按需修改变量值 - 不要删除或修改原有阶段的任何内容,仅添加新的stage对象
步骤4:调用PUT接口完成更新
将修改后的JSON作为请求体,调用更新接口:
PUT https://vsrm.dev.azure.com/{organisation}/{project}/_apis/release/definitions/{definitionId}?api-version=6.0
- 请求Headers保持和步骤1一致,确保认证有效
- 请求体格式选择
raw -> JSON,粘贴修改后的JSON内容 - 发送请求后,若返回200状态码,说明新阶段添加成功,刷新Azure DevOps页面即可看到
注意事项
- 必须使用PUT请求,POST是创建新发布定义,PUT才是更新现有定义
- PAT权限必须足够,否则会返回403错误
- 如果模板包含环境、任务等依赖,要确保项目中已存在这些资源(比如目标环境已创建)
内容的提问来源于stack exchange,提问作者Adnan Hodzic
相关产品推荐
相关产品推荐

