如何使用Azure DevOps REST API运行构建/发布流水线
前置准备
首先提前获取以下信息:
- Azure DevOps个人访问令牌(PAT):创建时授予构建 (Build) 范围的「读取并执行」权限,记录令牌值备用
- 目标信息:DevOps组织名称、项目名称、目标构建流水线ID,流水线ID可直接从流水线访问页的URL参数
pipelineId中获取
触发构建的REST API调用方法
请求基础信息
请求方法为POST,请求地址格式如下:POST https://dev.azure.com/{替换为你的组织名}/{替换为你的项目名}/_apis/build/builds?api-version=7.1-preview.7
请求头配置
需要携带两个必填头字段:
Content-Type: application/jsonAuthorization: Basic {替换为Base64编码的认证字符串}
认证字符串编码规则:将字符串
:你的PAT值(注意PAT前有英文冒号)进行Base64编码,生成的结果就是上述字段的取值
请求体示例
根据你的实际需求调整参数后填入请求体:
{ "definition": { "id": 123 // 替换为你的构建流水线ID }, "sourceBranch": "refs/heads/main", // 替换为要触发构建的目标分支 "parameters": "{\"env\":\"production\",\"alertId\":\"__alertId__\"}" // 无参数流水线可删除该字段,有参数则按JSON字符串格式填写 }
Azure告警webhook配置注意事项
- 可直接将上述请求头、请求体配置到Azure告警的webhook规则中,告警触发时会自动调用API运行流水线
- 如果需要将告警上下文信息传递给流水线,可以先在DevOps流水线中提前定义对应参数,再将请求体中parameters字段的取值替换为Azure告警的内置变量即可
常见错误排查
- 401报错:检查PAT是否过期、权限是否正确、Base64编码是否加了前缀冒号
- 404报错:确认组织名、项目名、流水线ID填写无误
- 403报错:确认PAT对目标项目的构建资源有执行权限
内容的提问来源于stack exchange,提问作者Rajendar Talatam
相关产品推荐
相关产品推荐

