如何配置Bamboo与Jira集成,实现工单更新触发构建及状态同步?
配置Bamboo与Jira协同:工单触发构建+状态同步
我来一步步帮你搞定Bamboo和Jira的协同配置,实现工单更新触发构建、构建状态同步回工单的需求,亲测好用:
一、先搞定前提准备
- 确保Bamboo和Jira服务器能互相访问(用ping或者浏览器测试下对方URL能不能打开)
- 你得有Bamboo和Jira的管理员权限(至少能配置集成和计划的权限)
- 确认Bamboo里装了「Jira Software Integration」插件(一般默认就有,没有的话去插件管理里搜了装)
- 确认Jira里装了「Bamboo Integration」插件(同理,默认预装,缺失就去Jira插件市场安装)
二、建立双向应用链接(核心基础)
这是两个工具能互相通信的关键,步骤很清晰:
- 登录Bamboo后台,点「Administration」→「Applications」→「Application Links」
- 输入你的Jira服务器完整URL(比如
https://company-jira.com),点「Create new link」 - 跟着向导走:
- 应用类型选「Jira」
- 自定义个应用名称(比如「公司主Jira」)
- 认证方式选OAuth最安全,按照提示去Jira侧完成授权,确保Bamboo能调用Jira的API
- 完成后看链接状态显示「Connected」,就说明双向信任建立好了
三、配置Jira工单更新触发Bamboo构建
有两种方式,选适合你的:
方式1:用Bamboo自带的Jira触发器(简单直接)
- 打开你要配置的Bamboo计划,进入「Configure plan」→「Triggers」
- 点「Add trigger」,选「Jira trigger」
- 填参数:
- 选刚才建好的Jira应用链接
- 触发事件选「Issue updated」,还能细化条件,比如只在工单状态变为「待构建」时触发
- 写JQL过滤条件,比如
project = PROJ AND status changed to "待构建"(替换成你的项目键和状态) - 指定要触发的分支(比如只触发主分支)
- 保存后,符合条件的工单更新就会自动启动Bamboo构建了
方式2:用Jira自动化规则(更灵活)
如果需要复杂触发逻辑(比如结合多个条件),用Jira自动化更合适:
- 登录Jira,进「项目设置」→「自动化」(全局自动化也可以)
- 点「Create rule」,触发条件选「Issue updated」
- 加条件:比如「状态变更为」→「待构建」,或者其他你需要的判定条件
- 加动作:选「发送Web请求」,调用Bamboo的构建API
- API URL格式:
https://your-bamboo.com/rest/api/latest/plan/{PLAN_KEY}/build?os_authType=basic(把PLAN_KEY换成你的Bamboo计划键,比如PROJ-WEB) - 请求方法选「POST」
- 认证用「Basic auth」,填Bamboo的集成专用账号(别用个人账号)
- 保存规则,测试下,符合条件的工单更新就会触发构建了
- API URL格式:
四、同步Bamboo构建状态到Jira工单
这一步能让Jira实时知道构建结果:
- 打开Bamboo计划的「Configure plan」→「Post-build actions」
- 点「Add post-build action」,选「Jira issue updater」
- 配置参数:
- 选已建立的Jira应用链接
- 勾选「从提交信息中提取Jira工单键」——这很重要,确保Bamboo能找到对应的工单(所以要要求开发提交代码时带工单键,比如
PROJ-123: 修复支付bug) - 设置状态映射:比如构建成功时,把Jira工单状态改成「构建通过」;构建失败时改成「构建失败」
- 可选:让Bamboo自动给Jira工单加评论,比如「Build #456 执行成功:[构建详情链接]」(变量会自动替换)
- 保存后,每次构建完成,Bamboo都会自动更新关联的Jira工单状态和评论
五、测试验证
别忘最后测一遍:
- 触发测试:在Jira里把一个符合条件的工单改成「待构建」,看Bamboo是不是自动启动了构建
- 同步测试:等构建完成,回到Jira工单,检查状态有没有变,有没有构建评论
- 出问题的话,先查:应用链接是不是正常、触发器/自动化条件对不对、提交信息有没有工单键、权限够不够
内容的提问来源于stack exchange,提问作者Prasad Kadam
相关产品推荐
相关产品推荐

