- name
- sentry-cli
- description
- Sentry.io error monitoring via sentry-cli. Use when working with Sentry releases, source maps, dSYMs, events, or issue management. Covers authentication, release workflows, deploy tracking, and debug file uploads.
Sentry CLI
Interact with Sentry.io for error monitoring, release management, and debug artifact uploads.
Installation
# macOS
brew install sentry-cli
# npm (cross-platform)
npm install -g @sentry/cli
# Direct download
curl -sL https://sentry.io/get-cli/ | bashAuthentication
# Interactive login (opens browser)
sentry-cli login
# Or set token directly
export SENTRY_AUTH_TOKEN="sntrys_..."
# Verify
sentry-cli infoStore tokens in .sentryclirc or environment:
[auth]
token=sntrys_...
[defaults]
org=my-org
project=my-projectReleases
Create & Finalize
# Create release (usually git SHA or version)
sentry-cli releases new "$VERSION"
# Associate commits (links errors to commits)
sentry-cli releases set-commits "$VERSION" --auto
# Finalize when deployed
sentry-cli releases finalize "$VERSION"
# One-liner for CI
sentry-cli releases new "$VERSION" --finalizeDeploys
# Mark release as deployed to an environment
sentry-cli releases deploys "$VERSION" new -e production
sentry-cli releases deploys "$VERSION" new -e stagingList Releases
sentry-cli releases list
sentry-cli releases info "$VERSION"Source Maps
Upload source maps for JavaScript error deobfuscation:
# Upload all .js and .map files
sentry-cli sourcemaps upload ./dist --release="$VERSION"
# With URL prefix (match your deployed paths)
sentry-cli sourcemaps upload ./dist \
--release="$VERSION" \
--url-prefix="~/static/js"
# Validate before upload
sentry-cli sourcemaps explain ./dist/main.js.mapInject Debug IDs (Recommended)
# Inject debug IDs into source files (modern approach)
sentry-cli sourcemaps inject ./dist
sentry-cli sourcemaps upload ./dist --release="$VERSION"Debug Files (iOS/Android)
dSYMs (iOS)
# Upload dSYMs from Xcode archive
sentry-cli debug-files upload --include-sources path/to/dSYMs
# From derived data
sentry-cli debug-files upload ~/Library/Developer/Xcode/DerivedData/*/Build/Products/*/*.app.dSYMProGuard (Android)
sentry-cli upload-proguard mapping.txt --uuid="$UUID"Check Debug Files
sentry-cli debug-files check path/to/file
sentry-cli debug-files listEvents & Issues
Send Test Event
sentry-cli send-event -m "Test error message"
sentry-cli send-event -m "Error" --logfile /var/log/app.logQuery Issues
# List unresolved issues
sentry-cli issues list
# Resolve an issue
sentry-cli issues resolve ISSUE_ID
# Mute/ignore
sentry-cli issues mute ISSUE_IDMonitors (Cron)
# Wrap a cron job
sentry-cli monitors run my-cron-monitor -- /path/to/script.sh
# Manual check-ins
sentry-cli monitors check-in my-monitor --status ok
sentry-cli monitors check-in my-monitor --status errorCI/CD Integration
GitHub Actions
- name: Create Sentry Release
uses: getsentry/action-release@v1
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: my-org
SENTRY_PROJECT: my-project
with:
environment: production
sourcemaps: ./distGeneric CI
export SENTRY_AUTH_TOKEN="$SENTRY_TOKEN"
export SENTRY_ORG="my-org"
export SENTRY_PROJECT="my-project"
VERSION=$(sentry-cli releases propose-version)
sentry-cli releases new "$VERSION" --finalize
sentry-cli releases set-commits "$VERSION" --auto
sentry-cli sourcemaps upload ./dist --release="$VERSION"
sentry-cli releases deploys "$VERSION" new -e productionCommon Flags
| Flag | Description |
|---|---|
-o, --org | Organization slug |
-p, --project | Project slug |
--auth-token | Override auth token |
--log-level | debug/info/warn/error |
--quiet | Suppress output |
Troubleshooting
# Check configuration
sentry-cli info
# Debug upload issues
sentry-cli --log-level=debug sourcemaps upload ./dist
# Validate source map
sentry-cli sourcemaps explain ./dist/main.js.map
# Check connectivity
sentry-cli send-event -m "test" --log-level=debug