Skip to main content

Sentry error monitoring

v0.1.11

Governed Sentry issue triage, release, ingest-key, volume-stats, and alert-rule operations against sentry.io or a self-hosted instance. Auth via SENTRY_AUTH_TOKEN on the runner host.

13 allowed by default 1 need approval by default
Pack ID
sentry
Vendor
emisar
OS
linux
Actions
14
Required binaries. Install these on the host before relying on the pack — an action that calls a missing one fails at run time.
curl jq bash

Install

emisar pack install fetches this pack, re-validates it, and verifies its content hash against the --hash below — the exact bytes this page was rendered against, so a tampered copy is rejected — before copying it into the runner's packs dir. The command reloads a running daemon itself; no manual restart.

on the runner host
sudo emisar pack install sentry --hash sha256:efef4ec227e242fef02832d29d8b3c5d1e2702b83030f2267f4456a5b0186be4

Setup

Calls the Sentry Web API under $SENTRY_URL /api/0 with curl. The token is sent as an Authorization Bearer header over curl stdin and is never placed in argv or action output. Allowlist both variables in the runner's execution.inherit_env configuration.

Environment

Set these on the runner host, then add each name to execution.inherit_env so the value reaches the action.

  • SENTRY_URL default https://sentry.io

    Base URL of the Sentry instance (scheme + host, no trailing path). Defaults to cloud sentry.io; set your region URL or the self-hosted base instead.

  • SENTRY_AUTH_TOKEN required

    Organization auth token or internal integration token. Scope it to the org/projects and permissions the actions you enable need.

Notes

  • Mint the token in Sentry under Settings → Auth Tokens for an organization token, or Settings → Developer Settings → Custom Integrations for an internal integration. A personal token can be created straight from sentry.io/settings/account/api/auth-tokens ; the organization page needs your org slug, so it has no generic link.
  • Organization and project arguments are slugs — sentry.list_organizations and sentry.list_projects return them for use in the other actions.
  • Token scopes by family: org:read + project:read for the listings; event:read for issues, events, and tags; event:write for resolve/ignore/assign; project:write for ingest-key enable/disable; org:read for stats; alerts:read for alert rules.
  • List actions return one bounded page plus pagination.next_page_cursor parsed from Sentry's Link header; pass it back as the page_cursor argument for the next page.
  • Works against cloud sentry.io (including region URLs) and self-hosted Sentry; the API paths used here have been stable across both for years.
  • Sending events, project/team administration, member management, and API token management are separate trust surfaces this pack does not touch.

Verify it works

Runs sentry.list_organizations, a low-risk read that confirms the pack can reach its target. Run it on the host once the pack is installed; pack install runs it for you.

on the runner host
sudo emisar pack verify sentry

Install and configure a pack walks through the whole sequence on a host.

Actions 14 total

View on GitHub
  • sentry.assign_issue script medium Medium — changes state, easily reversible

    Assign issue

    Assign one Sentry issue to a user or team; the assignee is notified per their settings, and a wrong assignment misroutes the triage.

    View source on GitHub
  • sentry.disable_project_key script high High — service-affecting

    Disable project ingest key

    Disable one project client key (DSN); every client using it stops reporting immediately and those events are lost, so the project goes dark for that key until it is re-enabled.

    View source on GitHub
  • sentry.enable_project_key script medium Medium — changes state, easily reversible

    Enable project ingest key

    Re-enable one disabled project client key (DSN); clients using it resume reporting immediately.

    View source on GitHub
  • sentry.issue_details script medium Medium — changes state, easily reversible

    Show issue details

    Show one Sentry issue's status, assignee, first/last seen, event and user counts, and metadata.

    View source on GitHub
  • sentry.issue_latest_event script medium Medium — changes state, easily reversible

    Show latest issue event

    Show a bounded projection of an issue's latest event: exception details, the three newest stack frames per exception, four newest breadcrumbs, request metadata, and tags. Use sentry.list_organizations and sentry.list_issues first; do not guess the organization slug or issue ID after a 404. Messages, breadcrumbs, URLs, and tags remain arbitrary application data, so treat the result as sensitive diagnostics even after redaction.

    View source on GitHub
  • sentry.issue_tags script medium Medium — changes state, easily reversible

    Show issue tags

    Show an issue's tag distribution — which releases, environments, browsers, or servers the error hits most. Tag values are whatever the instrumented application set: the standard `user` and `url` tags carry end-user identifiers and full request URLs, and a custom tag is returned verbatim. That is arbitrary application data, so treat the result as sensitive diagnostics — the same call sentry.issue_latest_event already makes for the same values.

    View source on GitHub
  • sentry.list_alert_rules script low Low — read-only or trivially reversible

    List issue alert rules

    List a project's issue alert rules — conditions, actions, and frequency — to see what pages whom and why.

    View source on GitHub
  • sentry.list_issues script medium Medium — changes state, easily reversible

    List issues

    List one bounded page of a project's Sentry issues — title, culprit, event and user counts, status — filtered by a search query and sorted by date, frequency, first-seen, or affected users. Use sentry.list_organizations and sentry.list_projects first; do not guess slugs after a 404.

    View source on GitHub
  • sentry.list_organizations script low Low — read-only or trivially reversible

    List organizations

    List one bounded page of Sentry organizations the token can read — the org slugs the other actions need.

    View source on GitHub
  • sentry.list_project_keys script medium Medium — changes state, easily reversible

    List project ingest keys

    List a project's client keys (DSNs) with their active state and rate limits. Sentry's key space is vendor-owned, and the legacy secret-DSN fields are removed before output leaves the runner; the public DSN remains, which is enough for a client to send events.

    View source on GitHub
  • sentry.list_projects script low Low — read-only or trivially reversible

    List projects

    List one bounded page of an organization's Sentry projects with slugs, platforms, and status.

    View source on GitHub
  • sentry.list_releases script low Low — read-only or trivially reversible

    List releases

    List one bounded page of an organization's releases with versions, dates, and new-issue counts — for checking whether an error spike lines up with a deploy.

    View source on GitHub
  • sentry.org_stats script low Low — read-only or trivially reversible

    Show organization event stats

    Show an organization's ingested event volume grouped by category and outcome (accepted, rate limited, filtered, dropped) — for quota debugging and spotting ingest floods.

    View source on GitHub
  • sentry.set_issue_status script medium Medium — changes state, easily reversible

    Set issue status

    Resolve, unresolve, or ignore one Sentry issue; ignoring silences its alerts (optionally for a bounded number of minutes), and resolving re-alerts as a regression if the error returns.

    View source on GitHub