OpsGenie
ZapaPUSH accepts OpsGenie's Alert API for creating, acknowledging and closing alerts. A tool built for OpsGenie switches by changing the base URL and the key. OpsGenie is being retired by Atlassian, so now is a good time.
Switch a tool over
| OpsGenie | ZapaPUSH | |
|---|---|---|
| Base URL | https://api.opsgenie.com (or api.eu.opsgenie.com) |
https://api.zapapush.com |
| Header | Authorization: GenieKey <OpsGenie key> |
Authorization: GenieKey <ZapaPUSH key> |
The paths stay the same (/v2/alerts, and so on). https://api.zapapush.com/integrations/opsgenie/v2/alerts
works too.
curl -H 'Content-Type: application/json' -H 'Authorization: GenieKey YOUR_KEY' \
https://api.zapapush.com/v2/alerts -d '{
"message": "Disk full on db-1",
"alias": "db-1-disk",
"description": "/var is 95% used",
"priority": "P1",
"tags": ["db", "prod"],
"details": {"used": "95%"}
}'
Supported calls
| Call | In ZapaPUSH |
|---|---|
POST /v2/alerts |
Creates the alert and buzzes your phone. The same alias again updates it; if it's acked, silently. |
POST /v2/alerts/<alias>/acknowledge?identifierType=alias |
Acks it, silently. |
POST /v2/alerts/<alias>/close?identifierType=alias |
Closes it, silently. |
- The title is
[priority] messagewhen you set a priority, for example [P1] Disk full on db-1. - The description is your
description, thenentity,sourceandtags, eachdetailsfield and thenote. - Without an
alias, themessageis the alias, so the same message updates the same alert. identifierType=id(OpsGenie's default) ortinywith a number closes or acks that ZapaPUSH alert. Any other identifier is treated as an alias.
Responses match OpsGenie's: 202 with
{"result": "Request will be processed", "took": 0.01, "requestId": "..."}. Errors are
{"message": "...", "took": 0, "requestId": "..."} with 422 for a bad request or 401 for an unknown key.
Move everything over
In OpsGenie, open Settings → Integrations (or each team's integrations) and note what sends alerts: the API integration (most tools), email integrations, heartbeats, and built-in ones (Prometheus, Grafana, CloudWatch, Azure and so on). Then switch each one:
| OpsGenie integration | In ZapaPUSH |
|---|---|
| API integration (any tool) | Base URL https://api.zapapush.com, header Authorization: GenieKey <your ZapaPUSH key>, as above. |
| Email integration | Your email to alert address. |
| Heartbeats | ZapaPUSH heartbeats: ping /heartbeat/<name>?every=10m instead of /v2/heartbeats/<name>/ping. |
| Prometheus / Alertmanager | The native Alertmanager receiver (opsgenie_configs → webhook_configs). |
| Grafana | The Grafana webhook contact point. |
| AWS CloudWatch, Azure, Google Cloud | Their webhooks: Cloud. |
| Maintenance policies, alert snooze | Maintenance windows and snooze. |
Run both side by side for a few days before removing OpsGenie.
What's different
| OpsGenie | In ZapaPUSH |
|---|---|
| Teams | A group, with its own key. One group on Personal, unlimited on Business. |
| On-call schedules, escalation policies | Business plan: on-call shifts in each group, then push, phone call and the next person. |
| Phone calls | Business plan, as an escalation step (Phone calls). |
| SMS | Not yet. |
| Routing rules, alert policies | Not yet. Every alert goes to the key's group. |
responders, visibleTo, actions |
Ignored. |
| Notes, list/get alerts, request status, other endpoints | Not yet: those calls answer 404. |
Switch offer
Teams moving from OpsGenie get 50% off the first year of a yearly Business plan (paid in advance, no refunds) with the code SWITCH50.
Limits
Each call counts as one post towards the 60-per-minute limit.