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

如何在GitLab CI特定步骤触发时发送Teams通知?

实现GitLab CI特定步骤触发Teams通知的方法

可以直接在目标deploy步骤中添加发送Teams通知的脚本,通过Teams传入webhook实现精准推送,具体步骤如下:

1. 准备Teams传入webhook

在Teams频道中创建一个传入webhook,记录生成的webhook URL(Teams端常规操作,此处不展开)。

2. 在GitLab中存储webhook变量

进入GitLab项目的Settings > CI/CD > Variables,添加名为TEAMS_WEBHOOK_URL的变量,值为获取到的Teams webhook地址,勾选"Protect variable"避免敏感信息泄露。

3. 修改GitLab CI配置

更新你的deploy步骤,在原有部署脚本后添加发送Teams通知的curl命令(若runner环境无curl,需先安装):

deploy:
  stage: deploy
  script:
    - # 你的原有部署脚本
    - # 针对alpine镜像安装curl(可选,视runner环境而定)
    - apk add --no-cache curl || true
    - |
      # 发送Teams通知
      curl -H "Content-Type: application/json" -d '{
        "@type": "MessageCard",
        "@context": "http://schema.org/extensions",
        "summary": "Master分支部署通知",
        "themeColor": "0078D7",
        "title": "✅ GitLab测试环境部署完成",
        "text": "项目: '"$CI_PROJECT_NAME"'\n分支: '"$CI_COMMIT_BRANCH"'\n提交信息: '"$CI_COMMIT_MESSAGE"'\n流水线链接: '"$CI_PIPELINE_URL"'"
      }' "$TEAMS_WEBHOOK_URL"
  only:
    - master

额外优化:区分部署成功/失败

如果需要在部署成功或失败时推送不同内容的通知,可使用after_script配合CI状态变量实现:

deploy:
  stage: deploy
  script:
    - # 你的原有部署脚本
  after_script:
    - apk add --no-cache curl || true
    - |
      if [ "$CI_JOB_STATUS" == "success" ]; then
        MESSAGE="成功"
        COLOR="00CC00"
      else
        MESSAGE="失败"
        COLOR="FF0000"
      fi
      curl -H "Content-Type: application/json" -d '{
        "@type": "MessageCard",
        "@context": "http://schema.org/extensions",
        "summary": "Master分支部署'"$MESSAGE"'",
        "themeColor": "'"$COLOR"'",
        "title": "GitLab测试环境部署'"$MESSAGE"'",
        "text": "项目: '"$CI_PROJECT_NAME"'\n分支: '"$CI_COMMIT_BRANCH"'\n提交信息: '"$CI_COMMIT_MESSAGE"'\n流水线链接: '"$CI_PIPELINE_URL"'"
      }' "$TEAMS_WEBHOOK_URL"
  only:
    - master

通过以上配置,就能确保只有当deploy步骤触发运行时,才会向Teams频道推送通知,不会产生流水线其他步骤的冗余消息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:10:32