Status fixtures

August 7, 2026 · View on GitHub

Statuspage summary.json bodies, embedded into the plugin binary (server/demo.go) and used two ways:

  • as the inputs to server/statuspage_test.go, so the parser is exercised against realistic payloads rather than hand-shrunk ones, and
  • as ?demo=<name> responses on the status webhook, which is the only way to see or screenshot the degraded / outage / maintenance UI — GitHub is up essentially all of the time.
FileDemo name(s)State
healthy.jsonhealthyAll components operational, no incidents
degraded.jsondegraded, staleActions degraded_performance, one unresolved minor incident
incident.jsonincidentGit Operations partial_outage + Actions major_outage, unresolved major incident with three updates
critical.jsoncriticalEvery key component major_outage, unresolved critical incident
maintenance.jsonmaintenanceAll key components operational; one upcoming and one in-progress scheduled maintenance

healthy.json is a verbatim capture of https://www.githubstatus.com/api/v2/summary.json taken 2026-08-07. The other four are derived from it by editing component statuses and adding incident/maintenance objects, so they keep the real payload's field set, component ids, and HTML-bearing update bodies (<br /> and &amp; both appear on purpose — the parser has to strip them).

stale reuses degraded.json and is rendered as a cached-but-stale response (failed fetches, old fetchedAt) rather than being a distinct payload.