Docs menu

GitHub Actions

The Pinglet Notify action (on the GitHub Marketplace) publishes to a topic from any workflow: deploy announcements, urgent failure alerts, release notes. Anyone who should receive them just opens your topic’s share link; no GitHub access needed.

Setup

Mint an API key in your dashboard and add it to the repository as a secret named PINGLET_KEY. Then:

- name: Notify deploy
  uses: TheGlenn88/pinglet-action@v1
  with:
    key: ${{ secrets.PINGLET_KEY }}
    topic: acme/deploys
    title: "Deploy done"
    message: "${{ github.repository }} ${{ github.ref_name }} is live"
    level: success

The topic is created on the first publish. Subscribe to it in the Pinglet app via the share link from your dashboard.

Alert on failure

A final step gated on if: failure() turns any workflow into a pager. priority: urgent breaks through Do Not Disturb:

- name: Alert on failure
  if: failure()
  uses: TheGlenn88/pinglet-action@v1
  with:
    key: ${{ secrets.PINGLET_KEY }}
    topic: acme/ci
    title: "CI failed"
    message: "${{ github.workflow }} failed on ${{ github.ref_name }}"
    level: error
    priority: urgent

All inputs (badges, metadata, dry-run) are documented in the action’s README.

Without the action

The action is a thin wrapper over the publish endpoint, so a plain step works too (and the same shape works in GitLab CI, Woodpecker, or any other runner):

- name: Notify
  run: |
    curl -sS --fail-with-body -X POST https://pinglet.dev/acme/deploys \
      -H "Authorization: Bearer ${{ secrets.PINGLET_KEY }}" \
      -H "Content-Type: application/json" \
      -d '{"title":"Deploy done","message":"${{ github.ref_name }} is live","level":"success"}'

See the generic webhook guide for the full recipe and Message anatomy for every field.