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

如何将GitHub Actions的CI测试结果推送至Slack?

实现GitHub Actions CI测试结果推送至Slack

下面两种常用方案可实现需求,任选其一即可:

方案一:使用官方Slack GitHub Action

  1. 在Slack平台创建应用,获取xoxb-开头的Bot Token,为该Bot分配chat:write权限后,将Bot邀请到目标通知频道。
  2. 进入GitHub仓库的「Settings」→「Secrets and variables」→「Actions」,添加名为SLACK_BOT_TOKEN的密钥,值为上述Bot Token。
  3. 修改你的.github/workflows/verify.yml,在tests任务末尾添加通知步骤:
name: Verify CI
on: [push]

jobs:
  tests:
    name: Tests
    # 原有的任务配置...
    steps:
      # 原有的测试步骤...
      - name: 发送Slack测试结果通知
        uses: slackapi/slack-github-action@v1.23.0
        if: always() # 无论测试成功/失败都发送通知
        with:
          channel-id: '你的Slack频道ID' # 替换为实际频道ID
          slack-message: |
            *CI测试结果*: ${{ job.status == 'success' ? ':white_check_mark: 成功' : ':x: 失败' }}
            *仓库*: ${{ github.repository }}
            *提交哈希*: ${{ github.sha }}
            *触发者*: ${{ github.actor }}
        env:
          SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}

方案二:使用Slack Incoming Webhook

  1. 在Slack中创建Incoming Webhook,获取对应的Webhook URL(格式为https://hooks.slack.com/services/...)。
  2. 在GitHub仓库的Actions密钥中添加名为SLACK_WEBHOOK_URL的密钥,值为上述Webhook URL。
  3. 修改verify.yml添加通知步骤:
name: Verify CI
on: [push]

jobs:
  tests:
    name: Tests
    # 原有的任务配置...
    steps:
      # 原有的测试步骤...
      - name: 发送Slack测试结果通知
        if: always()
        env:
          SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
          STATUS_EMOJI: ${{ job.status == 'success' ? ':white_check_mark:' : ':x:' }}
        run: |
          curl -X POST -H 'Content-type: application/json' \
          --data "{\"text\":\"*CI测试结果*: $STATUS_EMOJI ${{ job.status }}\n*仓库*: ${{ github.repository }}\n*提交哈希*: ${{ github.sha }}\n*触发者*: ${{ github.actor }}\"}" \
          $SLACK_WEBHOOK

自定义提示

  • 通过if: always()确保测试无论成功、失败还是被取消,都会发送通知;如果只需要失败时通知,改为if: failure()即可。
  • 可根据需求扩展消息内容,比如添加测试报告链接、触发分支等信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 06:06:45