Sentry
Sentry — projects, issues, teams, alerts (org-scoped REST v0)
weave sentry
Env: SENTRY_TOKEN
Setup
Configure credentials via environment variables. We recommend sourcing them through 1Password or your secrets manager rather than committing them to the shell rc.
Official API reference
weave commands for this module are checked against the vendor's published API.
| Variable | Description | Status |
|---|---|---|
| SENTRY_TOKEN | Required for authentication. | required |
| SENTRY_ORG | Default organization slug when commands omit --org. | optional |
| SENTRY_URL | Self-hosted Sentry base URL (default: https://sentry.io). | optional |
Sanity-check the wiring:
weave secrets check weave sentry --help weave doctor # reports SENTRY_TOKEN status
Capabilities
What this module can do, by entity and verb. ✓
means a working CLI surface; · means
not (yet) wired.
| Entity | find | list | show | do | snapshot | diff | apply |
|---|---|---|---|---|---|---|---|
| issue | ✓ | ✓ | · | ✓ | · | · | · |
| project | ✓ | ✓ | · | · | ✓ | ✓ | ✓ |
| team | · | ✓ | · | · | · | · | · |
Commands
Every registered CLI command, grouped by verb. Each example uses placeholder arguments — substitute real values for your environment.
find (2)
find issue
readFind an issue by short id or numeric id.
weave sentry find issue <issue-id>
find project
readFind a project by slug.
weave sentry find project <slug>
list (3)
list issues
readList issues for a project.
weave sentry list issues <arg>
list projects
readList projects in an organization.
weave sentry list projects <arg>
list teams
readList teams in an organization.
weave sentry list teams <arg>
do (2)
do ignore-issue
writeMark an issue as ignored.
weave sentry do ignore-issue <issue-id>
do resolve-issue
writeMark an issue as resolved.
weave sentry do resolve-issue <issue-id>
snapshot → edit YAML →
diff → apply --yes (or confirm
interactively; apply --dry-run previews the same diff).
State kinds
Resources this module can snapshot and
diff; apply where the kind supports
live writes (see Round-trip per kind). Always run
diff before apply; use
--yes in automation after review. Files live under
.weave-state/sentry/.
This module is on the thinner integration path — use snapshot / diff for audit; confirm apply per kind below before relying on writes.
projects
All projects in a Sentry organization (slug, name, platform, team).
State file skeleton
module: sentry kind: projects org: <value> items: - # <fields specific to this kind — see snapshot output>
Workflows
End-to-end recipes from operators who already run this module in production. Copy, adapt, and put under change-control.
Project metadata under change control
weave sentry snapshot projects --org=my-org $EDITOR .weave-state/sentry/my-org/projects.yaml weave sentry diff projects --org=my-org weave sentry apply projects --org=my-org --yes
Triage and resolve a production issue
weave sentry list issues --org=my-org --project=backend weave sentry find issue BACKEND-42 weave sentry do resolve-issue <issue-id> --yes
Ignore a noisy regression until next release
weave sentry find issue BACKEND-99 weave sentry do ignore-issue <issue-id> --yes
Audit team ownership
weave sentry list teams --org=my-org weave sentry list projects --org=my-org weave sentry find project backend
Terraform parity
For each Terraform resource in the canonical provider, here's the equivalent live-API verb in weave. Use this as a migration cheat-sheet, not a 1:1 contract — weave deliberately stays in the live-state lane, not the desired-state lane.
| Terraform resource | weave equivalent |
|---|---|
| sentry_project | weave sentry snapshot/diff/apply projects (--org) + find/list project |
| sentry_issue | weave sentry find/list issue + do resolve-issue / ignore-issue Issues are events — resolve/ignore are live triage verbs, not declarative state. |
| sentry_team | weave sentry list teams Team CRUD not exposed — list-only audit. |
| sentry_project_team | Partial — team assignment can change via apply projects Full team membership round-trip is on the projects state kind. |
Troubleshooting & source
Run weave doctor — it reports which env
vars (including SENTRY_TOKEN) are set
and which are blank.
Re-run weave sentry diff <kind>
to confirm the controller's current state, then re-snapshot
before the next apply. The driver always re-snapshots
before diffing.
The module lives at https://github.com/andy-broyles/weavewhatever/tree/main/src/weave/modules/sentry. File a bug or feature request at https://github.com/andy-broyles/weavewhatever/issues.