Mailtr
← Blog

Tự động hoá test OTP trong CI/CD với GitHub Actions

Khi test luồng đăng ký có bước OTP, bạn cần một inbox thật trong lúc CI chạy. Mailtr API cung cấp inbox theo yêu cầu, nên việc đưa test này vào GitHub Actions khá đơn giản.

Bước 1: Lưu API key vào Secrets

Trong repo, vào Settings → Secrets and variables → Actions, thêm secret tên MAILTR_KEY. Không bao giờ commit key vào mã nguồn.

Bước 2: Workflow mẫu

Workflow cài phụ thuộc, truyền key qua biến môi trường rồi chạy test E2E:

name: e2e
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    env:
      MAILTR_KEY: ${{ secrets.MAILTR_KEY }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm ci
      - run: npx playwright install --with-deps
      - run: npm run test:e2e

Bước 3: Trong test lấy OTP

Test đọc MAILTR_KEY từ env, tạo inbox và poll lấy OTP (xem bài Playwright/Cypress để có helper). Mỗi lần CI chạy là một lần kiểm thử luồng đăng ký thật.

Lưu ý vận hành

Mỗi test nên tạo inbox riêng để tránh nhiễu khi chạy song song. Theo dõi quota gói API và nâng gói nếu pipeline chạy dày.