The @sentry/cli package is a command line interface tool that allows developers to interact with Sentry, a popular error tracking and monitoring tool. It provides functionalities for managing releases, uploading source maps, and configuring Sentry projects directly from the terminal.
What are @sentry/cli's main functionalities?
Creating new releases
This command creates a new release in Sentry. A release is a version of your code that is deployed to an environment.
sentry-cli releases new <release_name>
Uploading source maps
Source maps allow Sentry to de-minify your JavaScript code, which aids in debugging. This command uploads source maps for a specific release.
Similar to the source map upload feature of @sentry/cli, bugsnag-sourcemaps is a tool for uploading source maps to Bugsnag, another error tracking service. It provides a focused functionality compared to the broader scope of @sentry/cli.
rollbar-cli is a command line tool for interacting with Rollbar, an alternative to Sentry for error monitoring and reporting. It offers functionalities similar to @sentry/cli, such as managing releases and uploading source maps, tailored for Rollbar's platform.
Official Sentry Command Line Interface
This is a Sentry command line client for some generic tasks. Right now this is
primarily used to upload debug symbols to Sentry if you are not using the
Fastlane tools.
If you are on OS X or Linux, you can use the automated downloader which will fetch the latest release version for you and install it:
curl -sL https://sentry.io/get-cli/ | bash
We do, however, encourage you to pin the specific version of the CLI, so your builds are always reproducible.
To do that, you can use the exact same method, with an additional version specifier:
This will automatically download the correct version of sentry-cli for your operating system and install it. If necessary, it will prompt for your admin password for sudo. For a different installation location or for systems without sudo (like Windows), you can export INSTALL_DIR=/custom/installation/path before running this command.
By default, this package will download sentry-cli from the CDN managed by Fastly.
To use a custom CDN, set the npm config property sentrycli_cdnurl. The downloader will append
"/<version>/sentry-cli-<dist>".
There are a few environment variables that you can provide to control the npm installation:
SENTRYCLI_CDNURL=<url> # Use alternative cdn url for downloading binary
SENTRYCLI_USE_LOCAL=1 # Use local instance of sentry-cli binary (looked up via $PATH environment)
SENTRYCLI_SKIP_DOWNLOAD=1 # Skip downloading binary entirely
SENTRYCLI_NO_PROGRESS_BAR=1 # Do not print the progress bar when downloading binary (default for non-TTY environments like CI)
SENTRYCLI_LOG_STREAM=<stdout|stderr> # Changes where to redirect install script output
When using sentry-cli via JavaScript API or any 3rd party plugin that is consuming said API,
you can also use SENTRY_BINARY_PATH=<path> alongside SENTRYCLI_SKIP_DOWNLOAD=1 to completely
control what binaries are downloaded and used throughout the whole process.
If you're installing the CLI with NPM from behind a proxy, the install script will
use either NPM's configured HTTPS proxy server or the value from your HTTPS_PROXY
environment variable.
Homebrew
A homebrew recipe is provided in the getsentry/tools tap:
brew install getsentry/tools/sentry-cli
Docker
As of version 1.25.0, there is an official Docker image that comes with
sentry-cli preinstalled. If you prefer a specific version, specify it as tag.
The latest development version is published under the edge tag. In production,
we recommend you to use the latest tag. To use it, run:
docker pull getsentry/sentry-cli
docker run --rm -v $(pwd):/work getsentry/sentry-cli --help
Starting version 2.8.0, in case you see "error: config value 'safe.directory' was not found;" message,
you also need to correctly set UID and GID of mounted volumes like so:
This release fixes the behavior of sourcemaps inject and sourcemaps upload. We now treat minified and non-minified source files the same way in both commands, which was always the desired behavior, and is also consistent with our JS bundler plugins.
Please be aware that from now on, sourcemaps inject will inject debug IDs into all JS source files at the path provided to the command. If you only wish for some of the files to have debug IDs injected, you need to modify the path(s) passed to sourcemaps inject or you need to use the --ignore or --ignore-file options to exclude the files you do not wish to inject the debug IDs into.
In the sourcemaps upload command, we have eliminated the "Minified Scripts" section in the Source Maps Upload Report. Instead, these minified scripts will appear under "Scripts."
Auth token validation
Sentry CLI now validates that you have provided an auth token whenever you run a command that requires authentication to succeed. If you fail to provide an auth token when running such a command, the Sentry CLI will exit with an error message explaining that the auth token is required but missing.
Other fixes & improvements
fix(sourcemaps): Add .cjs and .mjs to default sourcemaps upload extensions (#1961) by @szokeasaurusrex
fix(xcode): Only parse Plist when required during RN source maps upload (#1940) by @krystofwoldrich
fix(files): Fail when deleting all files fails with 404 error (#1949) by @szokeasaurusrex
fix: support windows on arm via x64 binary (#1943) by @MarshallOfSound
FAQs
A command line utility to work with Sentry. https://docs.sentry.io/hosted/learn/cli/
The npm package @sentry/cli receives a total of 3,192,371 weekly downloads. As such, @sentry/cli popularity was classified as popular.
We found that @sentry/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 11 open source maintainers collaborating on the project.
Package last updated on 04 Mar 2024
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.
ENISA’s 2024 report highlights the EU’s top cybersecurity threats, including rising DDoS attacks, ransomware, supply chain vulnerabilities, and weaponized AI.
NIST's new password guidelines remove periodic changes and special character requirements, focusing on longer, more secure passwords for better authentication practices.