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.