---
title: "ไม่พลาดทุกครั้งที่ GitHub Actions ล้มเหลว: แจ้งเตือนทันทีด้วย Echobell"
description: "ตั้งค่าการแจ้งเตือนผ่าน webhook แบบทันทีเมื่อ GitHub Actions ล้มเหลวด้วย Echobell ทำให้ไปป์ไลน์ CI/CD ของคุณมองเห็นได้เสมอ ด้วยการแจ้งเตือนแบบพุชหรือสายโทรเข้าภายในไม่กี่วินาที"
date: 2025-04-26
author: Nooc
authorAvatarLink: /images/avatars/nooc.webp
authorLink: https://nooc.me
tags:
  - Echobell
  - GitHub Actions
  - CI/CD
  - แจ้งเตือนผ่าน webhook
  - แจ้งเตือนสำหรับนักพัฒนา
---

# ไม่พลาดทุกครั้งที่ GitHub Actions ล้มเหลว: แจ้งเตือนทันทีด้วย Echobell

การแจ้งเตือนทางอีเมลและ Slack เมื่อ CI ล้มเหลวนั้นพลาดได้ง่าย [Echobell Notification Action](https://github.com/weelone/echobell-action) ส่งการแจ้งเตือนผ่าน webhook ตรงถึงมือถือของคุณ ทั้งการแจ้งเตือนแบบพุชสำหรับ build ทั่วไป และสายโทรเข้าสำหรับความล้มเหลวในระบบโปรดักชัน เพื่อไม่ให้ไปป์ไลน์ที่พังผ่านไปโดยไม่มีใครสังเกต

## การตั้งค่า

### 1. สร้างช่องใน Echobell

1. [ดาวน์โหลด Echobell](https://apps.apple.com/app/apple-store/id6743597198?pt=128151925&ct=blog-github-actions-notifications-th&mt=8) / [Google Play](https://play.google.com/store/apps/details?id=one.echobell.echobellandroid) แล้วเข้าสู่ระบบ
2. สร้างช่องแล้วตั้งชื่อประมาณว่า "GitHub CI/CD Alerts"
3. คัดลอก URL ของ webhook จากหน้าตั้งค่าช่อง
4. ในรีโป GitHub ของคุณ: **Settings → Secrets and variables → Actions → New repository secret**
5. ตั้งชื่อว่า `ECHOBELL_WEBHOOK_URL` แล้ววาง URL ลงไป

### 2. เพิ่มลงในเวิร์กโฟลว์ของคุณ

**การตั้งค่าพื้นฐาน** (เวิร์กโฟลว์ที่มี job เดียว):

```yaml
name: Build and Test

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - name: Build
        run: npm run build

      - name: Test
        run: npm test

      - name: Notify on Failure
        if: failure()
        uses: weelone/echobell-action@v1
        with:
          webhook-url: ${{ secrets.ECHOBELL_WEBHOOK_URL }}
```

**ไปป์ไลน์ที่มีหลาย job** — ให้ใช้ job แจ้งเตือนแยกต่างหากที่ขึ้นกับ job สำคัญทั้งหมด:

```yaml
name: Deploy Pipeline

on:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Tests
        run: npm test

  build:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build
        run: npm run build

  deploy:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Deploy
        run: npm run deploy

  notify_on_failure:
    runs-on: ubuntu-latest
    needs: [test, build, deploy]
    if: failure()
    steps:
      - name: Send Failure Notification
        uses: weelone/echobell-action@v1
        with:
          webhook-url: ${{ secrets.ECHOBELL_WEBHOOK_URL }}
```

job แจ้งเตือนแยกแบบนี้ทำให้คุณได้รับการแจ้งเตือนรวมเพียงครั้งเดียวเมื่อเกิดความล้มเหลวต่อเนื่องกัน แทนที่จะได้รับการแจ้งเตือนแยกกันหลายครั้ง

## เคล็ดลับ

**หัวข้อการแจ้งเตือน** ควรตอบให้ได้ว่าอะไรล้มเหลว ที่ไหน และเมื่อไร ลองใช้รูปแบบอย่าง `❌ Main Branch CI Failed` หรือ `🚨 Deploy Pipeline Down - Production`

**แยกช่องตามระดับความรุนแรง** เก็บช่องแบบมาตรฐานไว้สำหรับการแจ้งเตือน CI ทั่วไป และมีอีกช่องที่ตั้งเป็น **โทรเข้า** สำหรับความล้มเหลวในระบบโปรดักชัน แล้วให้เวิร์กโฟลว์ต่าง ๆ ชี้ไปยัง URL ของ webhook คนละตัว ดูรายละเอียดได้ที่[การแจ้งเตือนด้วยสายโทรเข้า](/th/blog/grafana-call-notification)

**แชร์ช่องให้ทีมของคุณ** สร้างช่องสำหรับความล้มเหลวของ CI/CD ที่ทั้งทีมควรเห็น และอีกช่องแยกสำหรับปัญหาที่เกี่ยวกับโครงสร้างพื้นฐานเท่านั้น [ช่องที่แชร์ร่วมกัน](/th/features/channels)ของ Echobell ทำให้เพื่อนร่วมทีมติดตามได้ด้วยการตั้งค่าการแจ้งเตือนของตัวเอง โดยไม่ต้องให้ทุกคนไปตั้งค่า webhook เองทีละคน

## บทความที่เกี่ยวข้อง

- [เอกสาร Webhook](/th/docs/webhook) — เอกสารอ้างอิง API ของ webhook ฉบับเต็ม
- [เทมเพลต](/th/docs/template) และ[เงื่อนไข](/th/docs/conditions) — ปรับแต่งเนื้อหาและการกรองการแจ้งเตือน
- [การแจ้งเตือนด้วยสายโทรเข้าสำหรับ Grafana](/th/blog/grafana-call-notification) — การแจ้งเตือนด้วยสายโทรสำหรับระบบมอนิเตอร์
- [การแจ้งเตือนด้วย WebhookMCP](/th/blog/get-notified-with-webhook-mcp) — การแจ้งเตือนเมื่องาน AI เสร็จสิ้น
- เอกสารฟีเจอร์: [ช่อง](/th/features/channels), [Webhook](/th/features/webhooks), [ทริกเกอร์อีเมล](/th/features/email-triggers), [การแจ้งเตือนด้วยสายโทรเข้า](/th/features/call-notifications)
