Add Sentry CLI skill
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
---
|
||||
name: sentry-cli-api
|
||||
version: 0.33.0
|
||||
description: Make an authenticated API request
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# API Commands
|
||||
|
||||
Make an authenticated API request
|
||||
|
||||
### `sentry api <endpoint>`
|
||||
|
||||
Make an authenticated API request
|
||||
|
||||
**Flags:**
|
||||
- `-X, --method <value> - The HTTP method for the request - (default: "GET")`
|
||||
- `-d, --data <value> - Inline JSON body for the request (like curl -d)`
|
||||
- `-F, --field <value>... - Add a typed parameter (key=value, key[sub]=value, key[]=value)`
|
||||
- `-f, --raw-field <value>... - Add a string parameter without JSON parsing`
|
||||
- `-H, --header <value>... - Add a HTTP request header in key:value format`
|
||||
- `--input <value> - The file to use as body for the HTTP request (use "-" to read from standard input)`
|
||||
- `--silent - Do not print the response body`
|
||||
- `--verbose - Include full HTTP request and response in the output`
|
||||
- `-n, --dry-run - Show the resolved request without sending it`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List organizations
|
||||
sentry api organizations/
|
||||
|
||||
# Get a specific issue
|
||||
sentry api issues/123456789/
|
||||
|
||||
# Create a release
|
||||
sentry api organizations/my-org/releases/ \
|
||||
-X POST -F version=1.0.0
|
||||
|
||||
# With inline JSON body
|
||||
sentry api issues/123456789/ \
|
||||
-X POST -d '{"status": "resolved"}'
|
||||
|
||||
# Update an issue status
|
||||
sentry api issues/123456789/ \
|
||||
-X PUT -F status=resolved
|
||||
|
||||
# Assign an issue
|
||||
sentry api issues/123456789/ \
|
||||
-X PUT --field assignedTo="user@example.com"
|
||||
|
||||
sentry api projects/my-org/my-project/ -X DELETE
|
||||
|
||||
# Add custom headers
|
||||
sentry api organizations/ -H "X-Custom: value"
|
||||
|
||||
# Read body from a file
|
||||
sentry api projects/my-org/my-project/releases/ -X POST --input release.json
|
||||
|
||||
# Verbose mode (shows full HTTP request/response)
|
||||
sentry api organizations/ --verbose
|
||||
|
||||
# Preview the request without sending
|
||||
sentry api organizations/ --dry-run
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,96 @@
|
||||
---
|
||||
name: sentry-cli-auth
|
||||
version: 0.33.0
|
||||
description: Authenticate with Sentry
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Auth Commands
|
||||
|
||||
Authenticate with Sentry
|
||||
|
||||
### `sentry auth login`
|
||||
|
||||
Authenticate with Sentry
|
||||
|
||||
**Flags:**
|
||||
- `--token <value> - Authenticate using an API token instead of OAuth`
|
||||
- `--timeout <value> - Timeout for OAuth flow in seconds (default: 900) - (default: "900")`
|
||||
- `--force - Re-authenticate without prompting`
|
||||
- `--url <value> - Sentry instance URL to authenticate against (e.g. https://sentry.example.com). Required for self-hosted; defaults to SaaS (https://sentry.io).`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry auth login
|
||||
|
||||
sentry auth login --token YOUR_SENTRY_API_TOKEN
|
||||
|
||||
SENTRY_URL=https://sentry.example.com sentry auth login
|
||||
|
||||
SENTRY_URL=https://sentry.example.com sentry auth login --token YOUR_TOKEN
|
||||
```
|
||||
|
||||
### `sentry auth logout`
|
||||
|
||||
Log out of Sentry
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry auth logout
|
||||
```
|
||||
|
||||
### `sentry auth refresh`
|
||||
|
||||
Refresh your authentication token
|
||||
|
||||
**Flags:**
|
||||
- `--force - Force refresh even if token is still valid`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry auth refresh
|
||||
```
|
||||
|
||||
### `sentry auth status`
|
||||
|
||||
View authentication status
|
||||
|
||||
**Flags:**
|
||||
- `--show-token - Show the stored token (masked by default)`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry auth status
|
||||
|
||||
# Show the raw token
|
||||
sentry auth status --show-token
|
||||
|
||||
# View current user
|
||||
sentry auth whoami
|
||||
```
|
||||
|
||||
### `sentry auth token`
|
||||
|
||||
Print the stored authentication token
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry auth token
|
||||
```
|
||||
|
||||
### `sentry auth whoami`
|
||||
|
||||
Show the currently authenticated identity
|
||||
|
||||
**Flags:**
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,107 @@
|
||||
---
|
||||
name: sentry-cli-cli
|
||||
version: 0.33.0
|
||||
description: CLI-related commands
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# CLI Commands
|
||||
|
||||
CLI-related commands
|
||||
|
||||
### `sentry cli defaults <key value...>`
|
||||
|
||||
View and manage default settings
|
||||
|
||||
**Flags:**
|
||||
- `--clear - Clear the specified default, or all defaults if no key is given`
|
||||
- `-y, --yes - Skip confirmation prompt`
|
||||
- `-f, --force - Force the operation without confirmation`
|
||||
|
||||
### `sentry cli feedback <message...>`
|
||||
|
||||
Send feedback about the CLI
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Send positive feedback
|
||||
sentry cli feedback i love this tool
|
||||
|
||||
# Report an issue
|
||||
sentry cli feedback the issue view is confusing
|
||||
```
|
||||
|
||||
### `sentry cli fix`
|
||||
|
||||
Diagnose and repair CLI database issues
|
||||
|
||||
**Flags:**
|
||||
- `--dry-run - Show what would be fixed without making changes`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry cli fix
|
||||
```
|
||||
|
||||
### `sentry cli setup`
|
||||
|
||||
Configure shell integration
|
||||
|
||||
**Flags:**
|
||||
- `--install - Install the binary from a temp location to the system path`
|
||||
- `--method <value> - Installation method (curl, npm, pnpm, bun, yarn)`
|
||||
- `--channel <value> - Release channel to persist (stable or nightly)`
|
||||
- `--no-modify-path - Skip PATH modification`
|
||||
- `--no-completions - Skip shell completion installation`
|
||||
- `--no-agent-skills - Skip agent skill installation for AI coding assistants`
|
||||
- `--quiet - Suppress output (for scripted usage)`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Run full setup (PATH, completions, agent skills)
|
||||
sentry cli setup
|
||||
|
||||
# Skip agent skill installation
|
||||
sentry cli setup --no-agent-skills
|
||||
|
||||
# Skip PATH and completion modifications
|
||||
sentry cli setup --no-modify-path --no-completions
|
||||
```
|
||||
|
||||
### `sentry cli upgrade <version>`
|
||||
|
||||
Update the Sentry CLI to the latest version
|
||||
|
||||
**Flags:**
|
||||
- `--check - Check for updates without installing`
|
||||
- `--force - Force upgrade even if already on the latest version`
|
||||
- `--offline - Upgrade using only cached version info and patches (no network)`
|
||||
- `--method <value> - Installation method to use (curl, brew, npm, pnpm, bun, yarn)`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry cli upgrade --check
|
||||
|
||||
# Upgrade to latest stable
|
||||
sentry cli upgrade
|
||||
|
||||
# Upgrade to a specific version
|
||||
sentry cli upgrade 0.5.0
|
||||
|
||||
# Force re-download
|
||||
sentry cli upgrade --force
|
||||
|
||||
# Switch to nightly builds
|
||||
sentry cli upgrade nightly
|
||||
|
||||
# Switch back to stable
|
||||
sentry cli upgrade stable
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,185 @@
|
||||
---
|
||||
name: sentry-cli-dashboard
|
||||
version: 0.33.0
|
||||
description: Manage Sentry dashboards
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Dashboard Commands
|
||||
|
||||
Manage Sentry dashboards
|
||||
|
||||
### `sentry dashboard list <org/title-filter...>`
|
||||
|
||||
List dashboards
|
||||
|
||||
**Flags:**
|
||||
- `-w, --web - Open in browser`
|
||||
- `-n, --limit <value> - Maximum number of dashboards to list - (default: "25")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List all dashboards
|
||||
sentry dashboard list
|
||||
|
||||
# Filter by name pattern
|
||||
sentry dashboard list "Backend*"
|
||||
|
||||
# Open dashboard list in browser
|
||||
sentry dashboard list -w
|
||||
```
|
||||
|
||||
### `sentry dashboard view <org/project/dashboard...>`
|
||||
|
||||
View a dashboard
|
||||
|
||||
**Flags:**
|
||||
- `-w, --web - Open in browser`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-r, --refresh <value> - Auto-refresh interval in seconds (default: 60, min: 10)`
|
||||
- `-t, --period <value> - Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01"`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# View by title
|
||||
sentry dashboard view 'Frontend Performance'
|
||||
|
||||
# View by ID
|
||||
sentry dashboard view 12345
|
||||
|
||||
# Auto-refresh every 30 seconds
|
||||
sentry dashboard view "Backend Performance" --refresh 30
|
||||
|
||||
# Open in browser
|
||||
sentry dashboard view 12345 -w
|
||||
```
|
||||
|
||||
### `sentry dashboard create <org/project/title...>`
|
||||
|
||||
Create a dashboard
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry dashboard create 'Frontend Performance'
|
||||
```
|
||||
|
||||
### `sentry dashboard widget add <org/project/dashboard/title...>`
|
||||
|
||||
Add a widget to a dashboard
|
||||
|
||||
**Flags:**
|
||||
- `-d, --display <value> - Display type (big_number, line, area, bar, table, stacked_area, top_n, text, categorical_bar, details, wheel, rage_and_dead_clicks, server_tree, agents_traces_table)`
|
||||
- `--dataset <value> - Widget dataset (default: spans). Accepts canonical names and API synonyms: spans, error-events/errors, transaction-like/transactions, tracemetrics/metrics, logs, issue, discover`
|
||||
- `-q, --query <value>... - Aggregate expression (e.g. count, p95:span.duration)`
|
||||
- `-w, --where <value> - Search conditions filter (e.g. is:unresolved)`
|
||||
- `-g, --group-by <value>... - Group-by column (repeatable)`
|
||||
- `-s, --sort <value> - Order by (prefix - for desc, e.g. -count)`
|
||||
- `-n, --limit <value> - Result limit`
|
||||
- `-x, --col <value> - Grid column position (0-based, 0–5)`
|
||||
- `-y, --row <value> - Grid row position (0-based)`
|
||||
- `--width <value> - Widget width in grid columns (1–6)`
|
||||
- `--height <value> - Widget height in grid rows (min 1)`
|
||||
- `-l, --layout <value> - Layout mode: sequential (append in order) or dense (fill gaps) - (default: "sequential")`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Simple counter widget
|
||||
sentry dashboard widget add 'My Dashboard' "Error Count" \
|
||||
--display big_number --query count
|
||||
|
||||
# Line chart with group-by
|
||||
sentry dashboard widget add 'My Dashboard' "Errors by Browser" \
|
||||
--display line --query count --group-by browser.name
|
||||
|
||||
# Table with multiple aggregates, sorted descending
|
||||
sentry dashboard widget add 'My Dashboard' "Top Endpoints" \
|
||||
--display table \
|
||||
--query count --query p95:span.duration \
|
||||
--group-by transaction \
|
||||
--sort -count --limit 10
|
||||
|
||||
# With search filter
|
||||
sentry dashboard widget add 'My Dashboard' "Slow Requests" \
|
||||
--display bar --query p95:span.duration \
|
||||
--where "span.op:http.client" \
|
||||
--group-by span.description
|
||||
```
|
||||
|
||||
### `sentry dashboard widget edit <org/project/dashboard...>`
|
||||
|
||||
Edit a widget in a dashboard
|
||||
|
||||
**Flags:**
|
||||
- `-i, --index <value> - Widget index (0-based)`
|
||||
- `-t, --title <value> - Widget title to match`
|
||||
- `--new-title <value> - New widget title`
|
||||
- `-d, --display <value> - Display type (big_number, line, area, bar, table, stacked_area, top_n, text, categorical_bar, details, wheel, rage_and_dead_clicks, server_tree, agents_traces_table)`
|
||||
- `--dataset <value> - Widget dataset (default: spans). Accepts canonical names and API synonyms: spans, error-events/errors, transaction-like/transactions, tracemetrics/metrics, logs, issue, discover`
|
||||
- `-q, --query <value>... - Aggregate expression (e.g. count, p95:span.duration)`
|
||||
- `-w, --where <value> - Search conditions filter (e.g. is:unresolved)`
|
||||
- `-g, --group-by <value>... - Group-by column (repeatable)`
|
||||
- `-s, --sort <value> - Order by (prefix - for desc, e.g. -count)`
|
||||
- `-n, --limit <value> - Result limit`
|
||||
- `-x, --col <value> - Grid column position (0-based, 0–5)`
|
||||
- `-y, --row <value> - Grid row position (0-based)`
|
||||
- `--width <value> - Widget width in grid columns (1–6)`
|
||||
- `--height <value> - Widget height in grid rows (min 1)`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Change display type
|
||||
sentry dashboard widget edit 12345 --title 'Error Count' --display bar
|
||||
|
||||
# Rename a widget
|
||||
sentry dashboard widget edit 'My Dashboard' --index 0 --new-title 'Total Errors'
|
||||
|
||||
# Change the query
|
||||
sentry dashboard widget edit 12345 --title 'Error Rate' --query p95:span.duration
|
||||
```
|
||||
|
||||
### `sentry dashboard widget delete <org/project/dashboard...>`
|
||||
|
||||
Delete a widget from a dashboard
|
||||
|
||||
**Flags:**
|
||||
- `-i, --index <value> - Widget index (0-based)`
|
||||
- `-t, --title <value> - Widget title to match`
|
||||
- `-y, --yes - Skip confirmation prompt`
|
||||
- `-f, --force - Force the operation without confirmation`
|
||||
- `-n, --dry-run - Show what would happen without making changes`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Delete by title
|
||||
sentry dashboard widget delete 'My Dashboard' --title 'Error Count'
|
||||
|
||||
# Delete by index
|
||||
sentry dashboard widget delete 12345 --index 2
|
||||
```
|
||||
|
||||
### `sentry dashboard revisions <org/dashboard...>`
|
||||
|
||||
List dashboard revisions
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Maximum number of revisions to list - (default: "25")`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
### `sentry dashboard restore <org/dashboard...>`
|
||||
|
||||
Restore a dashboard revision
|
||||
|
||||
**Flags:**
|
||||
- `-r, --revision <value> - Revision ID to restore`
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,90 @@
|
||||
---
|
||||
name: sentry-cli-event
|
||||
version: 0.33.0
|
||||
description: View and list Sentry events
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Event Commands
|
||||
|
||||
View and list Sentry events
|
||||
|
||||
### `sentry event view <org/project/event-id...>`
|
||||
|
||||
View details of one or more events
|
||||
|
||||
**Flags:**
|
||||
- `-w, --web - Open in browser`
|
||||
- `--spans <value> - Span tree depth limit (number, "all" for unlimited, "no" to disable) - (default: "3")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry event view abc123def456abc123def456abc12345
|
||||
|
||||
# Open in browser
|
||||
sentry event view abc123def456abc123def456abc12345 -w
|
||||
```
|
||||
|
||||
### `sentry event list <issue>`
|
||||
|
||||
List events for an issue
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Number of events (1-1000) - (default: "25")`
|
||||
- `-q, --query <value> - Search query (Sentry search syntax)`
|
||||
- `--full - Include full event body (stacktraces)`
|
||||
- `-t, --period <value> - Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" - (default: "7d")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `id` | string | Internal event ID |
|
||||
| `event.type` | string | Event type (error, default, transaction) |
|
||||
| `groupID` | string \| null | Group (issue) ID |
|
||||
| `eventID` | string | UUID-format event ID |
|
||||
| `projectID` | string | Project ID |
|
||||
| `message` | string | Event message |
|
||||
| `title` | string | Event title |
|
||||
| `location` | string \| null | Source location (file:line) |
|
||||
| `culprit` | string \| null | Culprit function/module |
|
||||
| `user` | object \| null | User context |
|
||||
| `tags` | array | Event tags |
|
||||
| `platform` | string \| null | Platform (python, javascript, etc.) |
|
||||
| `dateCreated` | string | ISO 8601 creation timestamp |
|
||||
| `crashFile` | string \| null | Crash file URL |
|
||||
| `metadata` | object \| null | Event metadata |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List events for an issue (using short ID)
|
||||
sentry event list PROJ-ABC
|
||||
|
||||
# List events for an issue (using numeric ID)
|
||||
sentry event list 123456789
|
||||
|
||||
# Filter by search query
|
||||
sentry event list PROJ-ABC --query "browser:Chrome"
|
||||
|
||||
# Include full event bodies (stacktraces)
|
||||
sentry event list PROJ-ABC --full
|
||||
|
||||
# Limit results and time range
|
||||
sentry event list PROJ-ABC --limit 50 --period 24h
|
||||
|
||||
# Paginate through results
|
||||
sentry event list PROJ-ABC -c next
|
||||
sentry event list PROJ-ABC -c prev
|
||||
|
||||
# Output as JSON
|
||||
sentry event list PROJ-ABC --json
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,76 @@
|
||||
---
|
||||
name: sentry-cli-explore
|
||||
version: 0.33.0
|
||||
description: Query aggregate event data (Explore)
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Explore Commands
|
||||
|
||||
Query aggregate event data (Explore)
|
||||
|
||||
### `sentry explore <target>`
|
||||
|
||||
Query aggregate event data (Explore)
|
||||
|
||||
**Flags:**
|
||||
- `-F, --field <value>... - API field or aggregate (repeatable). E.g., title, "count()", "p50(transaction.duration)"`
|
||||
- `-d, --dataset <value> - Dataset to query (errors, spans, metrics, logs, replays) - (default: "errors")`
|
||||
- `-q, --query <value> - Search query (Sentry search syntax)`
|
||||
- `-s, --sort <value> - Sort field (prefix with - for desc, e.g., "-count()")`
|
||||
- `-e, --environment <value>... - Replay environment filter for --dataset replays (repeatable, comma-separated)`
|
||||
- `-n, --limit <value> - Number of rows (1-1000) - (default: "25")`
|
||||
- `-t, --period <value> - Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" - (default: "24h")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Top errors in the last 24 hours, scoped to a project
|
||||
sentry explore my-org/cli
|
||||
|
||||
# All projects in an org
|
||||
sentry explore my-org/
|
||||
|
||||
# Bare project slug (searches across orgs)
|
||||
sentry explore cli
|
||||
|
||||
# Auto-detect from DSN/config
|
||||
sentry explore
|
||||
|
||||
# Errors with user impact for a specific UTC window
|
||||
sentry explore my-org/cli -F title -F "count()" -F "count_unique(user)" \
|
||||
--period "2024-01-15T00:00:00Z/2024-01-16T00:00:00Z"
|
||||
|
||||
# Filter by specific error type (combines with auto-injected project filter)
|
||||
sentry explore my-org/cli -F title -F "count()" \
|
||||
-q "error.type:TypeError" --period 1h
|
||||
|
||||
# Span operation latency by route
|
||||
sentry explore my-org/cli -F span.op -F "p50(span.duration)" \
|
||||
-F "p95(span.duration)" --dataset spans --period 1h
|
||||
|
||||
# Top spans by count
|
||||
sentry explore my-org/cli -F span.op -F "count()" \
|
||||
--dataset spans --sort "-count()"
|
||||
|
||||
# Custom metric aggregations
|
||||
sentry explore my-org/cli -F transaction -F "avg(measurements.fcp)" \
|
||||
--dataset metrics --period 24h
|
||||
|
||||
# Log severity counts in the last hour
|
||||
sentry explore my-org/cli -F severity -F "count()" \
|
||||
--dataset logs --period 1h
|
||||
|
||||
# Pipe to jq for filtering
|
||||
sentry explore my-org/cli -F title -F "count()" --json | jq '.data[:5]'
|
||||
|
||||
# Get raw data for analysis
|
||||
sentry explore my-org/cli -F title -F "count()" -F "count_unique(user)" \
|
||||
--json --limit 100
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
name: sentry-cli-init
|
||||
version: 0.33.0
|
||||
description: Initialize Sentry in your project (experimental)
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Init Commands
|
||||
|
||||
Initialize Sentry in your project (experimental)
|
||||
|
||||
### `sentry init <target> <directory>`
|
||||
|
||||
Initialize Sentry in your project (experimental)
|
||||
|
||||
**Flags:**
|
||||
- `-y, --yes - Accept non-interactive defaults (requires --features outside a TTY)`
|
||||
- `-n, --dry-run - Show what would happen without making changes`
|
||||
- `--features <value>... - Features to enable: errors,tracing,logs,replay,metrics,profiling,sourcemaps,crons,ai-monitoring,user-feedback`
|
||||
- `-t, --team <value> - Team slug to create the project under`
|
||||
- `--tui - Use the Ink-based interactive UI (default). Pass --no-tui to fall back to plain log output.`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Interactive setup
|
||||
sentry init
|
||||
|
||||
# Non-interactive agent/CI setup
|
||||
sentry init --yes --features errors,tracing,replay
|
||||
|
||||
# Dry run to preview changes
|
||||
sentry init --dry-run
|
||||
|
||||
# Target a subdirectory
|
||||
sentry init ./my-app
|
||||
|
||||
# Use a specific org (auto-detect project)
|
||||
sentry init acme/
|
||||
|
||||
# Use a specific org and project
|
||||
sentry init acme/my-app
|
||||
|
||||
# Assign a team when creating a new project
|
||||
sentry init acme/ --team backend
|
||||
|
||||
# Enable specific features
|
||||
sentry init --features profiling,replay
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,269 @@
|
||||
---
|
||||
name: sentry-cli-issue
|
||||
version: 0.33.0
|
||||
description: Manage Sentry issues
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Issue Commands
|
||||
|
||||
Manage Sentry issues
|
||||
|
||||
### `sentry issue list <org/project>`
|
||||
|
||||
List issues in a project
|
||||
|
||||
**Flags:**
|
||||
- `-q, --query <value> - Search query (Sentry syntax, implicit AND, no OR operator)`
|
||||
- `-n, --limit <value> - Maximum number of issues to list - (default: "25")`
|
||||
- `-s, --sort <value> - Sort by: date, new, freq, user - (default: "date")`
|
||||
- `-t, --period <value> - Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" - (default: "90d")`
|
||||
- `-c, --cursor <value> - Pagination cursor (use "next" for next page, "prev" for previous)`
|
||||
- `--compact - Single-line rows for compact output (auto-detects if omitted)`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `id` | string | Numeric issue ID |
|
||||
| `shortId` | string | Human-readable short ID (e.g. PROJ-ABC) |
|
||||
| `title` | string | Issue title |
|
||||
| `culprit` | string | Culprit string |
|
||||
| `count` | string | Total event count |
|
||||
| `userCount` | number | Number of affected users |
|
||||
| `firstSeen` | string | First occurrence (ISO 8601) |
|
||||
| `lastSeen` | string | Most recent occurrence (ISO 8601) |
|
||||
| `level` | string | Severity level |
|
||||
| `status` | string | Issue status |
|
||||
| `permalink` | string | URL to the issue in Sentry |
|
||||
| `project` | object | Project info |
|
||||
| `metadata` | object | Issue metadata |
|
||||
| `assignedTo` | object \| null | Assigned user or team |
|
||||
| `priority` | string | Triage priority |
|
||||
| `platform` | string | Platform |
|
||||
| `substatus` | string \| null | Issue substatus |
|
||||
| `isUnhandled` | boolean | Whether the issue is unhandled |
|
||||
| `seerFixabilityScore` | number \| null | Seer AI fixability score (0-1) |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List issues in a specific project
|
||||
sentry issue list my-org/frontend
|
||||
|
||||
# All projects in an org
|
||||
sentry issue list my-org/
|
||||
|
||||
# Search for a project across organizations
|
||||
sentry issue list frontend
|
||||
|
||||
# Show only unresolved issues
|
||||
sentry issue list my-org/frontend --query "is:unresolved"
|
||||
|
||||
# Show resolved issues
|
||||
sentry issue list my-org/frontend --query "is:resolved"
|
||||
|
||||
# Sort by frequency
|
||||
sentry issue list my-org/frontend --sort freq --limit 20
|
||||
|
||||
# Multiple filters (space-separated = implicit AND)
|
||||
sentry issue list --query "is:unresolved level:error assigned:me"
|
||||
|
||||
# Negation and wildcards
|
||||
sentry issue list --query "!browser:Chrome message:*timeout*"
|
||||
|
||||
# Match multiple values for one key (in-list syntax)
|
||||
sentry issue list --query "browser:[Chrome,Firefox]"
|
||||
```
|
||||
|
||||
### `sentry issue events <issue>`
|
||||
|
||||
List events for a specific issue
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Number of events (1-1000) - (default: "25")`
|
||||
- `-q, --query <value> - Search query (Sentry search syntax)`
|
||||
- `--full - Include full event body (stacktraces)`
|
||||
- `-t, --period <value> - Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" - (default: "7d")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `id` | string | Internal event ID |
|
||||
| `event.type` | string | Event type (error, default, transaction) |
|
||||
| `groupID` | string \| null | Group (issue) ID |
|
||||
| `eventID` | string | UUID-format event ID |
|
||||
| `projectID` | string | Project ID |
|
||||
| `message` | string | Event message |
|
||||
| `title` | string | Event title |
|
||||
| `location` | string \| null | Source location (file:line) |
|
||||
| `culprit` | string \| null | Culprit function/module |
|
||||
| `user` | object \| null | User context |
|
||||
| `tags` | array | Event tags |
|
||||
| `platform` | string \| null | Platform (python, javascript, etc.) |
|
||||
| `dateCreated` | string | ISO 8601 creation timestamp |
|
||||
| `crashFile` | string \| null | Crash file URL |
|
||||
| `metadata` | object \| null | Event metadata |
|
||||
|
||||
### `sentry issue explain <issue>`
|
||||
|
||||
Analyze an issue's root cause using Seer AI
|
||||
|
||||
**Flags:**
|
||||
- `--force - Force new analysis even if one exists`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Analyze root cause (may take a few minutes for new issues)
|
||||
sentry issue explain 123456789
|
||||
|
||||
# By short ID with org prefix
|
||||
sentry issue explain my-org/MYPROJECT-ABC
|
||||
|
||||
# Force a fresh analysis
|
||||
sentry issue explain 123456789 --force
|
||||
|
||||
# Generate a fix plan (requires explain to be run first)
|
||||
sentry issue plan 123456789
|
||||
|
||||
# Specify which root cause to plan for
|
||||
sentry issue plan 123456789 --cause 0
|
||||
```
|
||||
|
||||
### `sentry issue plan <issue>`
|
||||
|
||||
Generate a solution plan using Seer AI
|
||||
|
||||
**Flags:**
|
||||
- `--cause <value> - Root cause ID to plan (required if multiple causes exist)`
|
||||
- `--force - Force new plan even if one exists`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
### `sentry issue view <issue>`
|
||||
|
||||
View details of a specific issue
|
||||
|
||||
**Flags:**
|
||||
- `-w, --web - Open in browser`
|
||||
- `--spans <value> - Span tree depth limit (number, "all" for unlimited, "no" to disable) - (default: "3")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry issue view FRONT-ABC
|
||||
|
||||
# Open in browser
|
||||
sentry issue view FRONT-ABC -w
|
||||
```
|
||||
|
||||
### `sentry issue resolve <issue>`
|
||||
|
||||
Mark an issue as resolved
|
||||
|
||||
**Flags:**
|
||||
- `-i, --in <value> - Resolve in a release, next release, or commit ('<version>' | '@next' | '@commit' | '@commit:<repo>@<sha>')`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Resolve immediately (no regression tracking)
|
||||
sentry issue resolve CLI-G5
|
||||
|
||||
# Resolve in a specific release — future events on newer releases are
|
||||
# regression-flagged
|
||||
sentry issue resolve CLI-G5 --in 0.26.1
|
||||
|
||||
# Monorepo-style releases work too (no special parsing)
|
||||
sentry issue resolve CLI-G5 --in spotlight@1.2.3
|
||||
|
||||
# Resolve in the next release (tied to current HEAD)
|
||||
sentry issue resolve CLI-G5 --in @next
|
||||
sentry issue resolve CLI-G5 -i @next
|
||||
|
||||
# Resolve in the current git HEAD — auto-detects the Sentry repo from
|
||||
# your git origin remote (hard-errors if it can't)
|
||||
sentry issue resolve CLI-G5 --in @commit
|
||||
|
||||
# Explicit commit + repo (no git inspection; repo must be registered in Sentry)
|
||||
sentry issue resolve CLI-G5 --in @commit:getsentry/cli@abc123def
|
||||
|
||||
# Reopen a resolved issue
|
||||
sentry issue unresolve CLI-G5
|
||||
sentry issue reopen CLI-G5 # alias
|
||||
```
|
||||
|
||||
### `sentry issue unresolve <issue>`
|
||||
|
||||
Reopen a resolved issue
|
||||
|
||||
### `sentry issue archive <issue>`
|
||||
|
||||
Archive (ignore) an issue
|
||||
|
||||
**Flags:**
|
||||
- `-u, --until <value> - Condition for unarchival: forever, auto, 30m, 10x, 10u, 10x/5m, etc.`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Archive forever (fully silenced)
|
||||
sentry issue archive CLI-G5
|
||||
|
||||
# Smart detection — unarchives when Sentry detects a spike in event frequency
|
||||
sentry issue archive CLI-G5 --until auto
|
||||
|
||||
# Duration-based
|
||||
sentry issue archive CLI-G5 --until 1h # 1 hour
|
||||
sentry issue archive CLI-G5 --until 7d # 7 days
|
||||
sentry issue archive CLI-G5 --until 2026-12-31 # specific date
|
||||
|
||||
# Count-based — unarchive after N more events
|
||||
sentry issue archive CLI-G5 --until 100x
|
||||
|
||||
# User-based — unarchive after N more users affected
|
||||
sentry issue archive CLI-G5 --until 10u
|
||||
|
||||
# Compound — count within a time window
|
||||
sentry issue archive CLI-G5 --until 100x/1h # 100 events within 1 hour
|
||||
sentry issue archive CLI-G5 --until 10u/1d # 10 users within 1 day
|
||||
|
||||
# Verbose forms also work
|
||||
sentry issue archive CLI-G5 --until 10events/2hours
|
||||
|
||||
# 'ignore' is an alias for 'archive'
|
||||
sentry issue ignore CLI-G5 --until auto
|
||||
```
|
||||
|
||||
### `sentry issue merge <issue...>`
|
||||
|
||||
Merge 2+ issues into a single canonical group
|
||||
|
||||
**Flags:**
|
||||
- `-i, --into <value> - Prefer this issue as the canonical parent (must match one of the provided IDs)`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Let Sentry auto-pick the parent (typically the largest by event count)
|
||||
sentry issue merge CLI-K9 CLI-15H CLI-15N
|
||||
|
||||
# Pin the canonical parent explicitly — accepts the same formats as
|
||||
# positional args, including org-qualified and project-alias forms
|
||||
sentry issue merge CLI-K9 CLI-15H CLI-15N --into CLI-K9
|
||||
sentry issue merge my-org/CLI-K9 my-org/CLI-15H --into my-org/CLI-K9
|
||||
sentry issue merge cli-k9 cli-15h --into cli-k9 # alias form
|
||||
|
||||
# Cross-org merges are rejected — all issues must share an organization
|
||||
# Non-error issue types (performance, info, etc.) cannot be merged
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,84 @@
|
||||
---
|
||||
name: sentry-cli-log
|
||||
version: 0.33.0
|
||||
description: View Sentry logs
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Log Commands
|
||||
|
||||
View Sentry logs
|
||||
|
||||
### `sentry log list <org/project-or-trace-id...>`
|
||||
|
||||
List logs from a project
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Number of log entries (1-1000) - (default: "100")`
|
||||
- `-q, --query <value> - Filter query (e.g., "level:error", "project:backend", "project:[a,b]")`
|
||||
- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`
|
||||
- `-t, --period <value> - Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01"`
|
||||
- `-s, --sort <value> - Sort order: "newest" (default) or "oldest" - (default: "newest")`
|
||||
- `--fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `sentry.item_id` | string | Unique log entry ID |
|
||||
| `timestamp` | string | Log timestamp (ISO 8601) |
|
||||
| `timestamp_precise` | number | Nanosecond-precision timestamp |
|
||||
| `message` | string \| null | Log message |
|
||||
| `severity` | string \| null | Severity level (error, warning, info, debug) |
|
||||
| `trace` | string \| null | Trace ID for correlation |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List last 100 logs (default)
|
||||
sentry log list
|
||||
|
||||
# Show only error logs
|
||||
sentry log list -q 'level:error'
|
||||
|
||||
# Filter by message content
|
||||
sentry log list -q 'database'
|
||||
|
||||
# Limit results
|
||||
sentry log list --limit 50
|
||||
|
||||
# Stream with default 2-second poll interval
|
||||
sentry log list -f
|
||||
|
||||
# Stream with custom 5-second poll interval
|
||||
sentry log list -f 5
|
||||
|
||||
# Stream error logs from a specific project
|
||||
sentry log list my-org/backend -f -q 'level:error'
|
||||
|
||||
sentry log list --json | jq '.data[] | select(.severity == "error")'
|
||||
```
|
||||
|
||||
### `sentry log view <org/project/log-id...>`
|
||||
|
||||
View details of one or more log entries
|
||||
|
||||
**Flags:**
|
||||
- `-w, --web - Open in browser`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
sentry log view 968c763c740cfda8b6728f27fb9e9b01
|
||||
|
||||
# With explicit project
|
||||
sentry log view my-org/backend 968c763c740cfda8b6728f27fb9e9b01
|
||||
|
||||
# Open in browser
|
||||
sentry log view 968c763c740cfda8b6728f27fb9e9b01 -w
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
name: sentry-cli-org
|
||||
version: 0.33.0
|
||||
description: Work with Sentry organizations
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Org Commands
|
||||
|
||||
Work with Sentry organizations
|
||||
|
||||
### `sentry org list`
|
||||
|
||||
List organizations
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Maximum number of organizations to list - (default: "25")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
### `sentry org view <org>`
|
||||
|
||||
View details of an organization
|
||||
|
||||
**Flags:**
|
||||
- `-w, --web - Open in browser`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List organizations
|
||||
sentry org list
|
||||
|
||||
# View organization details
|
||||
sentry org view my-org
|
||||
|
||||
# Open in browser
|
||||
sentry org view my-org -w
|
||||
|
||||
# JSON output
|
||||
sentry org list --json
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,88 @@
|
||||
---
|
||||
name: sentry-cli-project
|
||||
version: 0.33.0
|
||||
description: Work with Sentry projects
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Project Commands
|
||||
|
||||
Work with Sentry projects
|
||||
|
||||
### `sentry project create <name> <platform>`
|
||||
|
||||
Create a new project
|
||||
|
||||
**Flags:**
|
||||
- `-t, --team <value> - Team to create the project under`
|
||||
- `-n, --dry-run - Show what would happen without making changes`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Create a new project
|
||||
sentry project create my-new-app javascript-nextjs
|
||||
|
||||
# Create under a specific org and team
|
||||
sentry project create my-org/my-new-app python --team backend-team
|
||||
|
||||
# Preview without creating
|
||||
sentry project create my-new-app node --dry-run
|
||||
```
|
||||
|
||||
### `sentry project delete <org/project>`
|
||||
|
||||
Delete a project
|
||||
|
||||
**Flags:**
|
||||
- `-y, --yes - Skip confirmation prompt`
|
||||
- `-f, --force - Force the operation without confirmation`
|
||||
- `-n, --dry-run - Show what would happen without making changes`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Delete a project (will prompt for confirmation)
|
||||
sentry project delete my-org/old-project
|
||||
|
||||
# Delete without confirmation
|
||||
sentry project delete my-org/old-project --yes
|
||||
```
|
||||
|
||||
### `sentry project list <org/project>`
|
||||
|
||||
List projects
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Maximum number of projects to list - (default: "25")`
|
||||
- `-p, --platform <value> - Filter by platform (e.g., javascript, python)`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
### `sentry project view <org/project>`
|
||||
|
||||
View details of a project
|
||||
|
||||
**Flags:**
|
||||
- `-w, --web - Open in browser`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List all projects in an org
|
||||
sentry project list my-org/
|
||||
|
||||
# Filter by platform
|
||||
sentry project list my-org/ --platform javascript
|
||||
|
||||
# View project details
|
||||
sentry project view my-org/frontend
|
||||
|
||||
# Open project in browser
|
||||
sentry project view my-org/frontend -w
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,144 @@
|
||||
---
|
||||
name: sentry-cli-release
|
||||
version: 0.33.0
|
||||
description: Work with Sentry releases
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Release Commands
|
||||
|
||||
Work with Sentry releases
|
||||
|
||||
### `sentry release list <org/project>`
|
||||
|
||||
List releases with adoption and health metrics
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Maximum number of releases to list - (default: "25")`
|
||||
- `-s, --sort <value> - Sort: date, sessions, users, crash_free_sessions (cfs), crash_free_users (cfu) - (default: "date")`
|
||||
- `-e, --environment <value>... - Filter by environment (repeatable, comma-separated)`
|
||||
- `-t, --period <value> - Health stats period (e.g., 24h, 7d, 14d, 90d) - (default: "90d")`
|
||||
- `--status <value> - Filter by status: open (default) or archived - (default: "open")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
### `sentry release view <org/version...>`
|
||||
|
||||
View release details with health metrics
|
||||
|
||||
**Flags:**
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
### `sentry release create <org/version...>`
|
||||
|
||||
Create a release
|
||||
|
||||
**Flags:**
|
||||
- `-p, --project <value> - Associate with project(s), comma-separated`
|
||||
- `--finalize - Immediately finalize the release (set dateReleased)`
|
||||
- `--ref <value> - Git ref (branch or tag name)`
|
||||
- `--url <value> - URL to the release source`
|
||||
- `-n, --dry-run - Show what would happen without making changes`
|
||||
|
||||
### `sentry release finalize <org/version...>`
|
||||
|
||||
Finalize a release
|
||||
|
||||
**Flags:**
|
||||
- `--released <value> - Custom release timestamp (ISO 8601). Defaults to now.`
|
||||
- `--url <value> - URL for the release`
|
||||
- `-n, --dry-run - Show what would happen without making changes`
|
||||
|
||||
### `sentry release delete <org/version...>`
|
||||
|
||||
Delete a release
|
||||
|
||||
**Flags:**
|
||||
- `-y, --yes - Skip confirmation prompt`
|
||||
- `-f, --force - Force the operation without confirmation`
|
||||
- `-n, --dry-run - Show what would happen without making changes`
|
||||
|
||||
### `sentry release deploy <org/version environment name...>`
|
||||
|
||||
Create a deploy for a release
|
||||
|
||||
**Flags:**
|
||||
- `--url <value> - URL for the deploy`
|
||||
- `--started <value> - Deploy start time (ISO 8601)`
|
||||
- `--finished <value> - Deploy finish time (ISO 8601)`
|
||||
- `-t, --time <value> - Deploy duration in seconds (sets started = now - time, finished = now)`
|
||||
- `-n, --dry-run - Show what would happen without making changes`
|
||||
|
||||
### `sentry release deploys <org/version...>`
|
||||
|
||||
List deploys for a release
|
||||
|
||||
### `sentry release set-commits <org/version...>`
|
||||
|
||||
Set commits for a release
|
||||
|
||||
**Flags:**
|
||||
- `--auto - Auto-discover commits via repository integration (needs local git checkout)`
|
||||
- `--local - Read commits from local git history`
|
||||
- `--clear - Clear all commits from the release`
|
||||
- `--commit <value> - Explicit commit as REPO@SHA or REPO@PREV..SHA (comma-separated)`
|
||||
- `--initial-depth <value> - Number of commits to read with --local - (default: "20")`
|
||||
|
||||
### `sentry release propose-version`
|
||||
|
||||
Propose a release version
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List releases (auto-detect org)
|
||||
sentry release list
|
||||
|
||||
# List releases in a specific org
|
||||
sentry release list my-org/
|
||||
|
||||
# View release details
|
||||
sentry release view 1.0.0
|
||||
sentry release view my-org/1.0.0
|
||||
|
||||
# Create and finalize a release
|
||||
sentry release create 1.0.0 --finalize
|
||||
|
||||
# Create a release, then finalize separately
|
||||
sentry release create 1.0.0
|
||||
sentry release set-commits 1.0.0 --auto
|
||||
sentry release finalize 1.0.0
|
||||
|
||||
# Set commits from local git history
|
||||
sentry release set-commits 1.0.0 --local
|
||||
|
||||
# Create a deploy
|
||||
sentry release deploy 1.0.0 production
|
||||
sentry release deploy 1.0.0 staging "Deploy #42"
|
||||
|
||||
# Propose a version from git HEAD
|
||||
sentry release create $(sentry release propose-version)
|
||||
|
||||
# List deploys for a release
|
||||
sentry release deploys 1.0.0
|
||||
sentry release deploys my-org/1.0.0
|
||||
|
||||
# Delete a release
|
||||
sentry release delete my-org/1.0.0
|
||||
sentry release delete my-org/1.0.0 --yes # Skip confirmation
|
||||
sentry release delete my-org/1.0.0 --dry-run # Preview without deleting
|
||||
|
||||
# Output as JSON
|
||||
sentry release list --json
|
||||
sentry release view 1.0.0 --json
|
||||
|
||||
# Full release workflow with explicit org
|
||||
sentry release create my-org/1.0.0 --project my-project
|
||||
sentry release set-commits my-org/1.0.0 --auto
|
||||
sentry release finalize my-org/1.0.0
|
||||
sentry release deploy my-org/1.0.0 production
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,148 @@
|
||||
---
|
||||
name: sentry-cli-replay
|
||||
version: 0.33.0
|
||||
description: Search and inspect Session Replays
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Replay Commands
|
||||
|
||||
Search and inspect Session Replays
|
||||
|
||||
### `sentry replay list <org/project>`
|
||||
|
||||
List recent Session Replays
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Number of replays (1-1000) - (default: "25")`
|
||||
- `-q, --query <value> - Search query (Sentry replay search syntax)`
|
||||
- `-e, --environment <value>... - Filter by environment (repeatable, comma-separated)`
|
||||
- `-s, --sort <value> - Sort by: date, oldest, duration, errors, activity, or a raw replay sort field - (default: "date")`
|
||||
- `-t, --period <value> - Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" - (default: "7d")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `activity` | number \| null | Replay activity score |
|
||||
| `browser` | object \| null | Browser metadata |
|
||||
| `count_dead_clicks` | number \| null | Dead click count |
|
||||
| `count_errors` | number \| null | Associated error count |
|
||||
| `count_infos` | number \| null | Info event count |
|
||||
| `count_rage_clicks` | number \| null | Rage click count |
|
||||
| `count_segments` | number \| null | Recording segment count |
|
||||
| `count_urls` | number \| null | Visited URL count |
|
||||
| `count_warnings` | number \| null | Warning event count |
|
||||
| `device` | object \| null | Device metadata |
|
||||
| `dist` | string \| null | Distribution |
|
||||
| `duration` | number \| null | Replay duration in seconds |
|
||||
| `environment` | string \| null | Environment |
|
||||
| `error_ids` | array | Linked error IDs |
|
||||
| `finished_at` | string \| null | Replay finish timestamp |
|
||||
| `has_viewed` | boolean \| null | Whether the current user has viewed the replay |
|
||||
| `id` | string | Replay ID |
|
||||
| `info_ids` | array | Linked info event IDs |
|
||||
| `is_archived` | boolean \| null | Archived flag |
|
||||
| `os` | object \| null | Operating system metadata |
|
||||
| `ota_updates` | object \| null | OTA update metadata |
|
||||
| `platform` | string \| null | Platform |
|
||||
| `project_id` | string \| null | Numeric project ID |
|
||||
| `releases` | array | Associated releases |
|
||||
| `sdk` | object \| null | SDK metadata |
|
||||
| `started_at` | string \| null | Replay start timestamp |
|
||||
| `tags` | object | Replay tags |
|
||||
| `trace_ids` | array | Linked trace IDs |
|
||||
| `urls` | array | Visited URLs |
|
||||
| `user` | object \| null | User metadata |
|
||||
| `warning_ids` | array | Linked warning event IDs |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List recent replays for a project
|
||||
sentry replay list my-org/frontend
|
||||
|
||||
# Search across all projects in an org
|
||||
sentry replay list my-org/ --query "environment:production"
|
||||
|
||||
# Change the time window and sort
|
||||
sentry replay list my-org/frontend --period 24h --sort errors
|
||||
|
||||
# Paginate through results
|
||||
sentry replay list my-org/frontend -c next
|
||||
sentry replay list my-org/frontend -c prev
|
||||
|
||||
# Output machine-readable data
|
||||
sentry replay list my-org/frontend --json
|
||||
```
|
||||
|
||||
### `sentry replay view <replay-id-or-url...>`
|
||||
|
||||
View a Session Replay
|
||||
|
||||
**Flags:**
|
||||
- `-w, --web - Open in browser`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `activity` | array | Summarized replay activity |
|
||||
| `browser` | object \| null | Browser metadata |
|
||||
| `count_dead_clicks` | number \| null | Dead click count |
|
||||
| `count_errors` | number \| null | Associated error count |
|
||||
| `count_infos` | number \| null | Info event count |
|
||||
| `count_rage_clicks` | number \| null | Rage click count |
|
||||
| `count_segments` | number \| null | Recording segment count |
|
||||
| `count_urls` | number \| null | Visited URL count |
|
||||
| `count_warnings` | number \| null | Warning event count |
|
||||
| `device` | object \| null | Device metadata |
|
||||
| `dist` | string \| null | Distribution |
|
||||
| `duration` | number \| null | Replay duration in seconds |
|
||||
| `environment` | string \| null | Environment |
|
||||
| `error_ids` | array | Linked error IDs |
|
||||
| `finished_at` | string \| null | Replay finish timestamp |
|
||||
| `has_viewed` | boolean \| null | Whether the current user has viewed the replay |
|
||||
| `id` | string | Replay ID |
|
||||
| `info_ids` | array | Linked info event IDs |
|
||||
| `is_archived` | boolean \| null | Archived flag |
|
||||
| `os` | object \| null | Operating system metadata |
|
||||
| `ota_updates` | object \| null | OTA update metadata |
|
||||
| `platform` | string \| null | Platform |
|
||||
| `project_id` | string \| null | Numeric project ID |
|
||||
| `releases` | array | Associated releases |
|
||||
| `sdk` | object \| null | SDK metadata |
|
||||
| `started_at` | string \| null | Replay start timestamp |
|
||||
| `tags` | object | Replay tags |
|
||||
| `trace_ids` | array | Linked trace IDs |
|
||||
| `urls` | array | Visited URLs |
|
||||
| `user` | object \| null | User metadata |
|
||||
| `warning_ids` | array | Linked warning event IDs |
|
||||
| `clicks` | array | Replay click summaries |
|
||||
| `replay_type` | string \| null | Replay type |
|
||||
| `org` | string | Organization slug |
|
||||
| `relatedIssues` | array | Replay-related issues |
|
||||
| `relatedTraces` | array | Replay-related traces |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# View a replay by ID using auto-detected org/project context
|
||||
sentry replay view 346789a703f6454384f1de473b8b9fcc
|
||||
|
||||
# View a replay with an explicit org
|
||||
sentry replay view my-org/346789a703f6454384f1de473b8b9fcc
|
||||
|
||||
# View a replay with explicit org/project context
|
||||
sentry replay view my-org/frontend/346789a703f6454384f1de473b8b9fcc
|
||||
|
||||
# Open a replay in the browser
|
||||
sentry replay view my-org/346789a703f6454384f1de473b8b9fcc --web
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
name: sentry-cli-repo
|
||||
version: 0.33.0
|
||||
description: Work with Sentry repositories
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Repo Commands
|
||||
|
||||
Work with Sentry repositories
|
||||
|
||||
### `sentry repo list <org/project>`
|
||||
|
||||
List repositories
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Maximum number of repositories to list - (default: "25")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `id` | string | Repository ID |
|
||||
| `name` | string | Repository name |
|
||||
| `url` | string \| null | Repository URL |
|
||||
| `provider` | object | Version control provider |
|
||||
| `status` | string | Integration status |
|
||||
| `dateCreated` | string | Creation date (ISO 8601) |
|
||||
| `integrationId` | string | Integration ID |
|
||||
| `externalSlug` | string \| null | External slug (e.g. org/repo) |
|
||||
| `externalId` | string \| null | External ID |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List repositories (auto-detect org)
|
||||
sentry repo list
|
||||
|
||||
# List repos in a specific org with pagination
|
||||
sentry repo list my-org/ -c next
|
||||
|
||||
# Output as JSON
|
||||
sentry repo list --json
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
name: sentry-cli-schema
|
||||
version: 0.33.0
|
||||
description: Browse the Sentry API schema
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Schema Commands
|
||||
|
||||
Browse the Sentry API schema
|
||||
|
||||
### `sentry schema <resource...>`
|
||||
|
||||
Browse the Sentry API schema
|
||||
|
||||
**Flags:**
|
||||
- `--all - Show all endpoints in a flat list`
|
||||
- `-q, --search <value> - Search endpoints by keyword`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List all API resources
|
||||
sentry schema
|
||||
|
||||
# Browse issue endpoints
|
||||
sentry schema issues
|
||||
|
||||
# View details for a specific operation
|
||||
sentry schema issues list
|
||||
|
||||
# Search for monitoring-related endpoints
|
||||
sentry schema --search monitor
|
||||
|
||||
# Flat list of every endpoint
|
||||
sentry schema --all
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,69 @@
|
||||
---
|
||||
name: sentry-cli-sourcemap
|
||||
version: 0.33.0
|
||||
description: Manage sourcemaps
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Sourcemap Commands
|
||||
|
||||
Manage sourcemaps
|
||||
|
||||
### `sentry sourcemap inject <directory>`
|
||||
|
||||
Inject debug IDs into JavaScript files and sourcemaps
|
||||
|
||||
**Flags:**
|
||||
- `--ext <value> - Comma-separated file extensions to process (default: .js,.cjs,.mjs)`
|
||||
- `--ignore <value> - Comma-separated glob patterns to exclude (gitignore-style)`
|
||||
- `--ignore-file <value> - Path to a file with gitignore-style patterns to exclude`
|
||||
- `--dry-run - Show what would be modified without writing`
|
||||
- `--allow-empty - Exit successfully when no JS + sourcemap pairs are found (default: error out to catch silent build misconfigurations)`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Inject debug IDs into all JS files in dist/
|
||||
sentry sourcemap inject ./dist
|
||||
|
||||
# Preview changes without writing
|
||||
sentry sourcemap inject ./dist --dry-run
|
||||
|
||||
# Only process specific extensions
|
||||
sentry sourcemap inject ./build --ext .js,.mjs
|
||||
```
|
||||
|
||||
### `sentry sourcemap upload <directory>`
|
||||
|
||||
Upload sourcemaps to Sentry
|
||||
|
||||
**Flags:**
|
||||
- `--release <value> - Release version to associate with the upload`
|
||||
- `--dist <value> - Distribution identifier to disambiguate builds within a release`
|
||||
- `--url-prefix <value> - URL prefix for uploaded files (default: ~/) - (default: "~/")`
|
||||
- `--ext <value> - Comma-separated file extensions to process (default: .js,.cjs,.mjs)`
|
||||
- `--ignore <value> - Comma-separated glob patterns to exclude (gitignore-style)`
|
||||
- `--ignore-file <value> - Path to a file with gitignore-style patterns to exclude`
|
||||
- `--strip-prefix <value> - Strip a prefix from uploaded file paths (e.g. 'build/')`
|
||||
- `--strip-common-prefix - Automatically strip the longest common path prefix from all files`
|
||||
- `--no-rewrite - Upload files as-is without injecting debug IDs`
|
||||
- `--allow-empty - Exit successfully when no JS + sourcemap pairs are found (default: error out to catch silent build misconfigurations)`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# Upload sourcemaps from dist/
|
||||
sentry sourcemap upload ./dist
|
||||
|
||||
# Associate with a release
|
||||
sentry sourcemap upload ./dist --release 1.0.0
|
||||
|
||||
# Set a custom URL prefix
|
||||
sentry sourcemap upload ./dist --url-prefix '~/static/js/'
|
||||
|
||||
sentry sourcemap upload ./dist --allow-empty
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,89 @@
|
||||
---
|
||||
name: sentry-cli-span
|
||||
version: 0.33.0
|
||||
description: List and view spans in projects or traces
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Span Commands
|
||||
|
||||
List and view spans in projects or traces
|
||||
|
||||
### `sentry span list <org/project/trace-id...>`
|
||||
|
||||
List spans in a project or trace
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Number of spans (<=1000) - (default: "25")`
|
||||
- `-q, --query <value> - Filter spans (e.g., "op:db", "project:backend", "project:[cli,api]")`
|
||||
- `-s, --sort <value> - Sort order: date, duration - (default: "date")`
|
||||
- `-t, --period <value> - Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" - (default: "7d")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `id` | string | Span ID |
|
||||
| `parent_span` | string \| null | Parent span ID |
|
||||
| `span.op` | string \| null | Span operation (e.g. http.client, db) |
|
||||
| `description` | string \| null | Span description |
|
||||
| `span.duration` | number \| null | Duration (ms) |
|
||||
| `timestamp` | string | Timestamp (ISO 8601) |
|
||||
| `project` | string | Project slug |
|
||||
| `transaction` | string \| null | Transaction name |
|
||||
| `trace` | string | Trace ID |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List recent spans in the current project
|
||||
sentry span list
|
||||
|
||||
# Find all DB spans
|
||||
sentry span list -q "op:db"
|
||||
|
||||
# Slow spans in the last 24 hours
|
||||
sentry span list -q "duration:>100ms" --period 24h
|
||||
|
||||
# List spans within a specific trace
|
||||
sentry span list abc123def456abc123def456abc12345
|
||||
|
||||
# Paginate through results
|
||||
sentry span list -c next
|
||||
|
||||
# Show only spans from one project within a trace
|
||||
sentry span list my-org/cli-server/abc123def456abc123def456abc12345
|
||||
|
||||
# Or use --query to filter by project
|
||||
sentry span list abc123def456abc123def456abc12345 -q "project:cli-server"
|
||||
|
||||
# Multiple projects at once
|
||||
sentry span list abc123def456abc123def456abc12345 -q "project:[cli-server,api]"
|
||||
```
|
||||
|
||||
### `sentry span view <trace-id/span-id...>`
|
||||
|
||||
View details of specific spans
|
||||
|
||||
**Flags:**
|
||||
- `--spans <value> - Span tree depth limit (number, "all" for unlimited, "no" to disable) - (default: "3")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# View a single span
|
||||
sentry span view abc123def456abc123def456abc12345 a1b2c3d4e5f67890
|
||||
|
||||
# View multiple spans at once
|
||||
sentry span view abc123def456abc123def456abc12345 a1b2c3d4e5f67890 b2c3d4e5f6789012
|
||||
|
||||
# With explicit org/project
|
||||
sentry span view my-org/backend/abc123def456abc123def456abc12345 a1b2c3d4e5f67890
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
name: sentry-cli-team
|
||||
version: 0.33.0
|
||||
description: Work with Sentry teams
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Team Commands
|
||||
|
||||
Work with Sentry teams
|
||||
|
||||
### `sentry team list <org/project>`
|
||||
|
||||
List teams
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Maximum number of teams to list - (default: "25")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `id` | string | Team ID |
|
||||
| `slug` | string | Team slug |
|
||||
| `name` | string | Team name |
|
||||
| `dateCreated` | string \| null | Creation date (ISO 8601) |
|
||||
| `isMember` | boolean | Whether you are a member |
|
||||
| `teamRole` | string \| null | Your role in the team |
|
||||
| `memberCount` | number | Number of members |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List teams
|
||||
sentry team list my-org/
|
||||
|
||||
# Paginate through teams
|
||||
sentry team list my-org/ -c next
|
||||
|
||||
# Output as JSON
|
||||
sentry team list --json
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,113 @@
|
||||
---
|
||||
name: sentry-cli-trace
|
||||
version: 0.33.0
|
||||
description: View distributed traces
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Trace Commands
|
||||
|
||||
View distributed traces
|
||||
|
||||
### `sentry trace list <org/project>`
|
||||
|
||||
List recent traces in a project
|
||||
|
||||
**Flags:**
|
||||
- `-n, --limit <value> - Number of traces (1-1000) - (default: "25")`
|
||||
- `-q, --query <value> - Search query (Sentry search syntax)`
|
||||
- `-s, --sort <value> - Sort by: date, duration - (default: "date")`
|
||||
- `-t, --period <value> - Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" - (default: "7d")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
- `-c, --cursor <value> - Navigate pages: "next", "prev", "first" (or raw cursor string)`
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `trace` | string | Trace ID |
|
||||
| `id` | string | Event ID |
|
||||
| `transaction` | string | Transaction name |
|
||||
| `timestamp` | string | Timestamp (ISO 8601) |
|
||||
| `transaction.duration` | number | Duration (ms) |
|
||||
| `project` | string | Project slug |
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List last 20 traces (default)
|
||||
sentry trace list
|
||||
|
||||
# Sort by slowest first
|
||||
sentry trace list --sort duration
|
||||
|
||||
# Filter by transaction name, last 24 hours
|
||||
sentry trace list -q "transaction:GET /api/users" --period 24h
|
||||
|
||||
# Paginate through results
|
||||
sentry trace list my-org/backend -c next
|
||||
```
|
||||
|
||||
### `sentry trace view <org/project/trace-id...>`
|
||||
|
||||
View details of a specific trace
|
||||
|
||||
**Flags:**
|
||||
- `-w, --web - Open in browser`
|
||||
- `--full - Fetch full span attributes (auto-enabled with --json)`
|
||||
- `--spans <value> - Span tree depth limit (number, "all" for unlimited, "no" to disable) - (default: "3")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# View trace details with span tree
|
||||
sentry trace view abc123def456abc123def456abc12345
|
||||
|
||||
# Open trace in browser
|
||||
sentry trace view abc123def456abc123def456abc12345 -w
|
||||
|
||||
# Auto-recover from an issue short ID
|
||||
sentry trace view PROJ-123
|
||||
|
||||
# Filter trace view to one project's spans
|
||||
sentry trace view my-org/cli-server/abc123def456abc123def456abc12345
|
||||
|
||||
# Full trace across all projects (default)
|
||||
sentry trace view my-org/abc123def456abc123def456abc12345
|
||||
|
||||
# Filter trace logs by project
|
||||
sentry trace logs my-org/cli-server/abc123def456abc123def456abc12345
|
||||
|
||||
# Multiple projects via --query
|
||||
sentry trace logs abc123def456abc123def456abc12345 -q "project:[cli-server,api]"
|
||||
```
|
||||
|
||||
### `sentry trace logs <org/project/trace-id...>`
|
||||
|
||||
View logs associated with a trace
|
||||
|
||||
**Flags:**
|
||||
- `-w, --web - Open trace in browser`
|
||||
- `-t, --period <value> - Time range: "7d", "2026-04-01..2026-05-01", ">=2026-04-01" - (default: "14d")`
|
||||
- `-n, --limit <value> - Number of log entries (<=1000) - (default: "100")`
|
||||
- `-q, --query <value> - Filter query (e.g., "level:error", "project:backend", "project:[a,b]")`
|
||||
- `-s, --sort <value> - Sort order: "newest" (default) or "oldest" - (default: "newest")`
|
||||
- `-f, --fresh - Bypass cache, re-detect projects, and fetch fresh data`
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# View logs for a trace
|
||||
sentry trace logs abc123def456abc123def456abc12345
|
||||
|
||||
# Search with a longer time window
|
||||
sentry trace logs --period 30d abc123def456abc123def456abc12345
|
||||
|
||||
# Filter logs within a trace
|
||||
sentry trace logs -q 'level:error' abc123def456abc123def456abc12345
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
name: sentry-cli-trial
|
||||
version: 0.33.0
|
||||
description: Manage product trials
|
||||
requires:
|
||||
bins: ["sentry"]
|
||||
auth: true
|
||||
---
|
||||
|
||||
# Trial Commands
|
||||
|
||||
Manage product trials
|
||||
|
||||
### `sentry trial list <org>`
|
||||
|
||||
List product trials
|
||||
|
||||
**JSON Fields** (use `--json --fields` to select specific fields):
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `category` | string | Trial category (e.g. seerUsers, seerAutofix) |
|
||||
| `startDate` | string \| null | Start date (ISO 8601) |
|
||||
| `endDate` | string \| null | End date (ISO 8601) |
|
||||
| `reasonCode` | number | Reason code |
|
||||
| `isStarted` | boolean | Whether the trial has started |
|
||||
| `lengthDays` | number \| null | Trial duration in days |
|
||||
|
||||
### `sentry trial start <name> <org>`
|
||||
|
||||
Start a product trial
|
||||
|
||||
**Examples:**
|
||||
|
||||
```bash
|
||||
# List all trials for the current org
|
||||
sentry trial list
|
||||
|
||||
# List trials for a specific org
|
||||
sentry trial list my-org
|
||||
|
||||
# Start a Seer trial
|
||||
sentry trial start seer
|
||||
|
||||
# Start a trial for a specific org
|
||||
sentry trial start replays my-org
|
||||
|
||||
# Start a Business plan trial (opens browser)
|
||||
sentry trial start plan
|
||||
```
|
||||
|
||||
All commands also support `--json`, `--fields`, `--help`, `--log-level`, and `--verbose` flags.
|
||||
Reference in New Issue
Block a user