Integration

PingBase GitHub Action

Every deployment causes a brief downtime window. Without this integration, PingBase fires an alert every time you deploy — and your team learns to ignore it. That's how real incidents get missed.

The GitHub Action pauses your monitors before the deploy step and resumes them after. Zero false positives, zero alert fatigue.

All plans (free + paid) 5 minute setup Works with any deployment pipeline
Get started free →

Example workflow

name: Deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Pause PingBase monitors
        uses: pingbase/pause-monitor-action@v1
        with:
          api-key: ${{ secrets.PINGBASE_API_KEY }}
          monitor-ids: "mon_abc123,mon_def456"

      - name: Deploy to production
        run: |
          # your deploy command here (wrangler deploy, fly deploy, etc.)

      - name: Resume PingBase monitors
        if: always()   # resume even if deploy fails
        uses: pingbase/resume-monitor-action@v1
        with:
          api-key: ${{ secrets.PINGBASE_API_KEY }}
          monitor-ids: "mon_abc123,mon_def456"

The if: always() on the resume step ensures monitors are re-enabled even if the deployment fails.

Or use the API directly

If you prefer not to use the marketplace action, call the API with curl:

- name: Pause monitors
  run: |
    curl -s -X PATCH https://pingbase-worker.workers.dev/api/monitors/mon_abc123 \
      -H "Authorization: Bearer ${{ secrets.PINGBASE_API_KEY }}" \
      -H "Content-Type: application/json" \
      -d '{"paused": true}'

- name: Resume monitors
  if: always()
  run: |
    curl -s -X PATCH https://pingbase-worker.workers.dev/api/monitors/mon_abc123 \
      -H "Authorization: Bearer ${{ secrets.PINGBASE_API_KEY }}" \
      -H "Content-Type: application/json" \
      -d '{"paused": false}'

Find your monitor IDs

curl https://pingbase-worker.workers.dev/api/monitors \
  -H "Authorization: Bearer YOUR_API_KEY"

# Response includes "id" for each monitor, e.g.:
# [{"id": "mon_abc123", "name": "Production API", ...}]

Stop the deploy alert noise

API keys work on all plans including free. Get your key in Settings → API Keys.

Start free →

Full setup guide: /guides/github-action