Docs

GitHub Action

Drop a status check into any CI workflow: verify one or more monitors are healthy, and fail the run, or just capture the result, using the same REST API documented in the API reference.

What it does

The action calls GET /checks/:id for each monitor id you give it and fails the workflow step if any of them comes back down or degraded (configurable), or errors. Useful as a post-deploy gate, or anywhere a workflow needs to confirm a dependency is actually healthy before continuing. It ships in-repo as a composite action: no separate package to install, no build step.

Requirements

A realuptime API key on a Growth or Scale plan. A read-scope key is enough, since this action only reads status and never creates, updates, or deletes anything. Generate one from the dashboard's API & MCP access section and store it as a repository or organization secret, never a literal value in the workflow file.

Basic usage

- name: Confirm production is healthy before finishing
  uses: Jose0213/realuptime/.github/actions/check-status@main
  with:
    api-key: ${{ secrets.REALUPTIME_API_KEY }}
    check-ids: "11111111-1111-1111-1111-111111111111"

Checking multiple monitors

- name: Confirm all regions are healthy
  uses: Jose0213/realuptime/.github/actions/check-status@main
  with:
    api-key: ${{ secrets.REALUPTIME_API_KEY }}
    check-ids: |
      11111111-1111-1111-1111-111111111111
      22222222-2222-2222-2222-222222222222

Find a monitor's id from the dashboard, or by calling GET /checks yourself (see the API reference).

Reporting instead of failing

Set fail-on: "" to never fail the step, and read the outputs in a later step instead:

- name: Check status
  id: check
  uses: Jose0213/realuptime/.github/actions/check-status@main
  with:
    api-key: ${{ secrets.REALUPTIME_API_KEY }}
    check-ids: "11111111-1111-1111-1111-111111111111"
    fail-on: ""

- name: Notify on partial degradation
  if: steps.check.outputs.all_operational == 'false'
  run: echo "Degraded: ${{ steps.check.outputs.results }}"

Inputs

InputRequiredDefaultDescription
api-keyyesA realuptime API key, Growth or Scale plan.
check-idsyesOne or more monitor ids, comma- or newline-separated.
fail-onnodown,degradedComma-separated statuses that fail the step. Pass an empty string to never fail and only report outputs.
base-urlnohttps://realuptime.io/api/v1Override for testing against a non-production instance.

Outputs

OutputDescription
all_operational"true" if every checked monitor's status was outside the fail-on list, "false" otherwise.
failure_countNumber of monitors that errored or matched a fail-on status.
resultsJSON array, one entry per checked monitor: { checkId, ok, name?, url?, status?, error? }.

Status meanings

Statuses mirror the REST API's aggregation exactly: operational, degraded, down, stale, or unknown. See the API reference for exactly what each one means. stale and unknown are excluded from the default fail-on list because they mean missing or old data, not a confirmed outage.

Rate limits

One GET /checks/:id request per check-ids entry per run, against the same 120-per-minute read budget documented in the API reference.

Not yet on the GitHub Marketplace

The action ships in-repo for now, referenced directly from its GitHub path as shown above. Publishing it to the GitHub Marketplace as a standalone listing needs the repository owner's GitHub account and is a planned follow-up, not something this page treats as already done.