Free, open source, MIT

Export your Opsgenie account before Atlassian deletes it.

Opsgenie shuts down on April 5, 2027. After that date the API stops answering and anything you did not migrate is gone. Atlassian's built-in export is an iCalendar file of the next twelve months of schedules. It does not carry routing rules, escalation repeat settings, overrides, alert and notification policies, heartbeats, user contact methods, integrations, or a single alert of history.

This one command does, into plain JSON files you own, whether you move to WHAWIT or anywhere else.

Node.js 20 or newer · uses an Opsgenie account API key with read access
npx @usewhawit/opsgenie-export --api-key <account-api-key>

What you get

users.jsonevery user, with contact methods and notification rules
teams.jsonevery team, with members, routing rules and team roles
schedules.jsonevery schedule, rotations expanded, with all overrides
on-calls.jsonwho was on call in each schedule at export time
escalations.jsonrules, delays and repeat settings
integrations.jsonconfiguration per integration, credentials redacted by default
policies.jsonalert and notification policies, global and per team
heartbeats.json + services.json + maintenance.jsonthe parts everyone forgets until they page nobody
alerts/2026-03.ndjsonone file per month, one alert per line, oldest first, optional notes and activity log
incidents/2026-03.ndjsonincident history, same layout
manifest.jsoncounts per section, warnings and what was redacted, so you can check it against the UI

Read-only, local, no account

It talks to api.opsgenie.com and nothing else. No sign-up, no telemetry, no upload. The folder stays on your disk.

Secrets stay out by default

Integration API keys and webhook credentials are redacted unless you ask for them, so an export that lands in a ticket does not leak the keys of every system wired into Opsgenie.

Survives the 20,000-result cap

Opsgenie refuses any search past 20,000 results. History is walked month by month and split until it fits, and a stopped run resumes where it left off.

What it cannot get

  • Audit logs and reports: not exposed by the Opsgenie API.
  • Alert attachments: listed as download links, not fetched.
  • Integration secrets, unless you pass --include-secrets. They do not transfer anyway: every integration has to be re-created and re-keyed on the destination side.
  • Anything a team integration key cannot read. Use an account key.

Compare the counts in the manifest with what the Opsgenie UI shows before you rely on the folder, and run it again close to your cutover date. Overrides and notification rules keep changing until the last day.

Why WHAWIT publishes this

WHAWIT ships its own on-call schedules, escalation policies and an Opsgenie importer that reads the same endpoints this tool does. The export is useful whether or not you land here: it is your data, and the deadline is the same for everyone. How on-call works in WHAWIT.