You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据Bamboo Pipeline运行状态自动发送Slack消息?

可行思路与实现方案

1. 利用Bamboo内置构建状态变量

Bamboo提供了内置环境变量bamboo_buildState,可直接在脚本中获取当前构建的状态,常见取值包括Successful、Failed、Broken等。

脚本实现示例(Bash)

# 获取构建状态
BUILD_STATE=$bamboo_buildState

# 根据状态构造消息内容
if [ "$BUILD_STATE" = "Successful" ]; then
    MESSAGE="✅ 每日构建任务完成:状态为成功\n构建编号:$bamboo_buildNumber\n构建分支:$bamboo_planRepositoryBranchName"
elif [ "$BUILD_STATE" = "Failed" ]; then
    MESSAGE="❌ 每日构建任务失败:状态为失败\n构建编号:$bamboo_buildNumber\n构建分支:$bamboo_planRepositoryBranchName"
else
    MESSAGE="⚠️ 每日构建任务状态异常:$BUILD_STATE\n构建编号:$bamboo_buildNumber"
fi

# 调用Slack API发送消息(替换为你的Slack Webhook URL)
curl -X POST -H 'Content-type: application/json' --data "{\"text\":\"$MESSAGE\"}" YOUR_SLACK_WEBHOOK_URL

2. 使用Bamboo的Post Build任务分状态执行

在Bamboo流水线的Post Build阶段添加两个脚本任务:

  • 第一个任务设置执行条件为「构建成功时运行」,编写发送成功消息的脚本
  • 第二个任务设置执行条件为「构建失败时运行」,编写发送失败消息的脚本

这种方式无需在脚本内判断状态,直接通过Bamboo的任务条件控制逻辑,更直观。

3. 借助Bamboo官方Slack插件

如果不想自行编写脚本,可使用Bamboo官方Slack集成插件:

  • 安装插件后在流水线配置中启用Slack通知
  • 设置通知触发条件(成功/失败/所有状态)
  • 自定义不同状态下的消息模板

插件会自动获取构建状态并发送对应消息,无需手动处理变量或API调用。

内容的提问来源于stack exchange,提问作者Nairda123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 13:14:52