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

通过GitHub Webhook配置Discord接收部署工作流成功/失败通知

GitHub Webhook 推送博客部署通知到Discord配置方案

问题原因

你配置后收不到通知,大概率是两个原因:

  1. 如果你用的是Discord内置的GitHub集成Webhook,它默认只适配有限的事件类型,你手动勾选的Workflow runs、Workflow jobs这类事件的payload结构它不解析,就算GitHub推了事件也不会生成频道消息
  2. 如果你用的是普通Webhook,可能是Content type配置错误,或者事件勾选不全导致没有触发推送

优先推荐方案:在部署工作流中直接加通知步骤

这个方案可控性最高,只会推送你当前博客部署工作流的结果,不会被仓库其他工作流、其他事件的通知干扰,不需要配置全局Webhook。
操作步骤如下:

  1. 打开Discord对应频道的集成设置,新建普通Webhook(不要选GitHub专属的集成Webhook),复制生成的Webhook URL
  2. 打开你的博客GitHub仓库,依次进入Settings → Secrets and variables → Actions,点击New repository secret,名称填DISCORD_WEBHOOK,值粘贴刚才复制的Discord Webhook URL,保存
  3. 修改你的deploy-site.yaml部署配置文件,在末尾添加通知逻辑,示例如下:
# 仅需修改两处:1. needs后的参数替换为你自己的部署job的名称 2. status后的deploy同样替换为你的部署job名称
  notify:
    runs-on: ubuntu-latest
    needs: [deploy] # 这里替换为你实际部署步骤对应的job名称,确保部署完成后才执行通知
    if: always() # 配置为部署成功、失败都会触发通知
    steps:
      - name: 推送部署结果到Discord
        uses: sarisia/actions-status-discord@v1
        with:
          webhook: ${{ secrets.DISCORD_WEBHOOK }}
          status: ${{ needs.deploy.result }} # 这里的deploy同样替换为你的部署job名称
          title: 个人博客部署结果
          description: |
            部署分支: ${{ github.ref_name }}
            提交版本: ${{ github.sha }}
            操作人: ${{ github.actor }}
          username: 博客部署通知
  1. 提交修改后的工作流文件即可,后续每次部署完成都会自动推送结果到Discord频道

若要继续使用全局Webhook的修复方案

如果不想修改工作流,坚持用全局Webhook,按以下步骤调整:

  • 触发事件除了你已经勾选的Workflow runs、Workflow jobs、Page builds之外,额外勾选Check runs事件,工作流的状态变更会通过该事件推送
  • 打开Webhook配置,确认Content type选择的是application/json,不要用默认的application/x-www-form-urlencoded格式,Discord无法解析后者的事件payload
  • 如果用的是Discord内置的GitHub集成Webhook,需要额外勾选Push事件才能识别Pages构建的通知

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:54:03