CircleCI Slack Orbs 构建失败通知中如何正确@提及Slack用户?
CircleCI Slack Orbs 动态@提及Slack用户解决方案
问题原因
你直接写mentions: <@SLACK_USER_ID>时,CircleCI不会将SLACK_USER_ID识别为需要插值替换的环境变量,只会将其作为普通字符串输出,因此无法触发Slack的@提及效果。
解决方案
按以下步骤配置即可实现动态@提及:
- 首先在CircleCI项目的环境变量配置页,添加变量
SLACK_USER_ID,值为Slack用户的纯ID(格式为U8XXXXXXX,不需要加<@、>符号) - 调整
mentions参数的写法,使用CircleCI标准的环境变量插值语法${变量名},完整写法如下:
mentions: "<@${SLACK_USER_ID}>"
- 如果上述写法不生效(常见于旧版Slack Orbs),可以提前拼接好提及字符串写入环境变量再调用,完整配置示例如下:
orbs: slack: circleci/slack@4.12.5 # 建议使用4.0及以上版本 jobs: build: docker: - image: cimg/base:stable steps: - checkout # 提前拼接提及字符串 - run: name: 生成Slack提及字符串 command: echo 'export SLACK_MENTION="<@${SLACK_USER_ID}>"' >> $BASH_ENV # 你的构建业务步骤 - run: ./build.sh # 失败通知配置 - slack/notify: event: fail mentions: ${SLACK_MENTION} template: basic_fail_1
注意:如果需要@多个用户,按相同语法拼接多个<@${用户ID变量}>即可,多个值之间用英文逗号分隔
内容的提问来源于stack exchange,提问作者lmb
相关产品推荐
相关产品推荐

