Skip to content

CLI for uploading symbol files and creating releases on your BugSnag dashboard

License

Notifications You must be signed in to change notification settings

bugsnag/bugsnag-cli

Repository files navigation

SmartBear BugSnag logo

CLI

Documentation Build status

Simplify the process of creating releases on the BugSnag dashboard and uploading files to improve the stacktraces in your errors with our command line tool.

Installation

The binaries are available on our GitHub releases page for macOS, Linux and Windows.

cURL / Wget

To install or upgrade to the latest binary for your architecture, you can also run the following cURL or Wget commands:

curl -o- https://raw.githubusercontent.com/bugsnag/bugsnag-cli/main/install.sh | bash
wget -qO- https://raw.githubusercontent.com/bugsnag/bugsnag-cli/main/install.sh | bash

The script downloads the appropriate binary and attempts to install it to ~/.local/bugsnag.

NPM

To install or upgrade the BugSnag CLI via npm, you can run the following command:

npm install @bugsnag/cli

Supported commands

This tool is currently being developed. It currently supports the following commands:

Create builds

Allows you to create a build within BugSnag to enrich releases shown in the BugSnag dashboard.

$ bugsnag-cli create-build --api-key=YOUR_API_KEY --app-version=YOUR_APP_VERSION

See the create-build command reference for full usage information.

Android NDK mapping files

For apps that use the NDK, this command extracts symbols from .so files and uploads them along with version information.

$ bugsnag-cli upload android-ndk \
    app/build/intermediates/merged_native_libs/release/out/lib/arm64-v8a/libMyApp.so

See the upload android-ndk command reference for full usage information.

Android Proguard mapping flies

If you are using ProGuard, DexGuard, or R8 to minify and optimize your app, this command uploads the mapping file along with version information from your project directory:

$ bugsnag-cli upload android-proguard app/build/outputs/proguard/release/mapping.txt

See the upload android-proguard command reference for full usage information.

Android App Bundle (AAB) files

If you distribute your app as an Android App Bundle (AAB), they contain all required files and so can be uploaded in a single command:

$ bugsnag-cli upload android-aab app/build/outputs/bundle/release/app-release.aab

See the upload android-aab command reference for full usage information.

React Native JavaScript source maps (Android only)

To get unminified stack traces for JavaScript code in your React Native app built for Android, source maps must be generated and can be uploaded to BugSnag using the following command from the root of your project:

$ bugsnag-cli upload react-native-android

See the upload react-native-android command reference for full usage information.

React Native JavaScript source maps (iOS only)

To get unminified stack traces for JavaScript code in your React Native app built for iOS, source maps must be generated and uploaded to BugSnag.

$ bugsnag-cli upload react-native-ios

See the upload react-native-ios command reference for full usage information.

JavaScript source maps

To get unminified stack traces for JavaScript code on the web, source maps must be generated and uploaded to BugSnag.

$ bugsnag-cli upload js

See the upload js command reference for full usage information.

Dart symbols for Flutter

If you are stripping debug symbols from your Dart code when building your Flutter apps, you will need to upload symbol files in order to see full stacktraces using the following command:

$ bugsnag-cli upload dart --api-key=YOUR_API_KEY app-debug-info/

dSYM files (iOS, macOS, tvOS)

Upload dSYM files to allow BugSnag to show human-friendly function names, file paths, and line numbers in your iOS, macOS, and tvOS stacktraces.

$ bugsnag-cli upload dsym

Unity Symbol Files (Android only)

The unity-android command uploads the IL2CPP symbols from the .symbols.zip file produced by the Unity build (see Unity documentation for more information) to the NDK symbol API.

$ bugsnag-cli upload unity-android /path/to/build/directory

BugSnag On-Premise

If you are using BugSnag On-premise, you should use the --build-api-root-url and --upload-api-root-url options to set the URL of your build and upload servers, for example:

bugsnag-cli upload \
  --upload-api-root-url https://bugsnag.my-company.com/
  # ... other options

Support

Contributing

Most updates to this repo will be made by Bugsnag employees. We are unable to accommodate significant external PRs such as features additions or any large refactoring, however minor fixes are welcome. See contributing for more information.

License

This package is free software released under the MIT License. See license for details.