การแจ้งเตือนทางอีเมลและ Slack เมื่อ CI ล้มเหลวนั้นพลาดได้ง่าย Echobell Notification Action ส่งการแจ้งเตือนผ่าน webhook ตรงถึงมือถือของคุณ ทั้งการแจ้งเตือนแบบพุชสำหรับ build ทั่วไป และสายโทรเข้าสำหรับความล้มเหลวในระบบโปรดักชัน เพื่อไม่ให้ไปป์ไลน์ที่พังผ่านไปโดยไม่มีใครสังเกต
การตั้งค่า
1. สร้างช่องใน Echobell
- ดาวน์โหลด Echobell / Google Play แล้วเข้าสู่ระบบ
- สร้างช่องแล้วตั้งชื่อประมาณว่า "GitHub CI/CD Alerts"
- คัดลอก URL ของ webhook จากหน้าตั้งค่าช่อง
- ในรีโป GitHub ของคุณ: Settings → Secrets and variables → Actions → New repository secret
- ตั้งชื่อว่า
ECHOBELL_WEBHOOK_URLแล้ววาง URL ลงไป
2. เพิ่มลงในเวิร์กโฟลว์ของคุณ
การตั้งค่าพื้นฐาน (เวิร์กโฟลว์ที่มี job เดียว):
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 สำคัญทั้งหมด:
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 คนละตัว ดูรายละเอียดได้ที่การแจ้งเตือนด้วยสายโทรเข้า
แชร์ช่องให้ทีมของคุณ สร้างช่องสำหรับความล้มเหลวของ CI/CD ที่ทั้งทีมควรเห็น และอีกช่องแยกสำหรับปัญหาที่เกี่ยวกับโครงสร้างพื้นฐานเท่านั้น ช่องที่แชร์ร่วมกันของ Echobell ทำให้เพื่อนร่วมทีมติดตามได้ด้วยการตั้งค่าการแจ้งเตือนของตัวเอง โดยไม่ต้องให้ทุกคนไปตั้งค่า webhook เองทีละคน
บทความที่เกี่ยวข้อง
- เอกสาร Webhook — เอกสารอ้างอิง API ของ webhook ฉบับเต็ม
- เทมเพลต และเงื่อนไข — ปรับแต่งเนื้อหาและการกรองการแจ้งเตือน
- การแจ้งเตือนด้วยสายโทรเข้าสำหรับ Grafana — การแจ้งเตือนด้วยสายโทรสำหรับระบบมอนิเตอร์
- การแจ้งเตือนด้วย WebhookMCP — การแจ้งเตือนเมื่องาน AI เสร็จสิ้น
- เอกสารฟีเจอร์: ช่อง, Webhook, ทริกเกอร์อีเมล, การแจ้งเตือนด้วยสายโทรเข้า