Sentry error monitoring
v0.1.11Governed 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.
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.
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_URLdefault https://sentry.ioBase 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_TOKENrequiredOrganization 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.
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
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