如何实现Jenkins中Project1构建成功后自动触发Azure DevOps的Project2构建?
实现Jenkins构建成功后自动触发Azure DevOps项目构建
一、先搞定Azure DevOps这边的触发权限
- 生成个人访问令牌(PAT):
登录Azure DevOps,进入个人设置→个人访问令牌,勾选Build (read & execute)权限,设置有效期后生成,一定要存好这个令牌,生成后只会显示一次。 - 确保Project2的管道允许API触发:
打开Project2的构建管道,点击编辑→触发器,勾选允许手动触发,同时确认没添加IP或用户限制的规则。
二、在Jenkins的Project1里添加构建后触发步骤
- 先安装
HTTP Request插件(未安装的话):
进入Jenkins管理页面→插件管理→可选插件,搜索HTTP Request安装后重启Jenkins。 - 配置构建后操作:
打开Project1的配置页面,拉到构建后操作板块,点击添加构建后操作步骤选择HTTP Request,然后填写以下参数:- URL:使用Azure DevOps的构建触发API,格式为
https://dev.azure.com/{你的组织名}/{项目名}/_apis/build/builds?api-version=7.1-preview.7,把占位符替换成自己的实际信息。 - 请求方法:选择
POST。 - 认证方式:选
Basic Authentication,用户名随便填(比如jenkins),密码填刚才生成的Azure DevOps PAT。 - 请求体(JSON格式):
管道ID可以直接从Project2的管道页面URL中获取,比如URL里的{ "definition": { "id": {你的Project2管道ID} } }build/definitions/123/...,其中123就是对应的管道ID。 - 最后勾选
仅在构建成功时执行,确保只有Project1构建成功后才会触发后续操作。
- URL:使用Azure DevOps的构建触发API,格式为
三、测试验证
手动触发一次Project1的构建,等它执行成功后,去Azure DevOps查看Project2是否自动启动了构建。如果触发失败,直接去Jenkins的构建日志里查看HTTP请求的返回信息,排查是否是PAT权限不足、管道ID填写错误或者API地址有误导致的问题。
内容的提问来源于stack exchange,提问作者ND's
相关产品推荐
相关产品推荐

