如何通过REST API更新Azure Pipeline延迟任务的完成状态?
使用Azure DevOps REST API手动完成Delay任务的步骤
1. 收集必要的ID参数
首先从Azure DevOps门户和API中获取以下关键ID:
- 发布ID:打开运行中的发布流水线,从浏览器URL里提取(例如URL片段
releaseId=1234中的1234) - 阶段ID、任务ID:调用发布详情API获取这些信息:
在返回的JSON响应中:GET https://dev.azure.com/{你的组织名}/{你的项目名}/_apis/release/releases/{发布ID}?api-version=7.1-preview.8- 找到
environments数组里对应Stage1的id(阶段ID) - 进入该环境的
deploySteps→tasks数组,找到显示名称为I am waiting for you..的任务项,提取它的id(任务ID)
- 找到
2. 调用API更新任务状态为成功
发送PATCH请求修改任务状态:
PATCH https://dev.azure.com/{你的组织名}/{你的项目名}/_apis/release/releases/{发布ID}/environments/{阶段ID}/tasks/{任务ID}?api-version=7.1-preview.8 Content-Type: application/json
请求体内容:
{ "state": "completed", "result": "succeeded" }
3. 验证更新结果
再次调用第一步的发布详情API,检查目标Delay任务的state是否为completed,result是否为succeeded,确认任务已成功完成。
注意事项
- 执行API请求的账号需要拥有发布管理编辑权限,确保能修改任务状态
- 必须在任务超时时间(299分钟)内完成API调用,否则任务会先触发失败
- 可以将该API请求集成到你的工具中,通过监听流水线运行事件自动触发,或者按需手动执行
内容的提问来源于stack exchange,提问作者osim_ans
相关产品推荐
相关产品推荐

