bugsnag-build-reporter v2.0.0
bugsnag-build-reporter
A tool for reporting your application's builds to Bugsnag. It can auto detect source control from .git, .hg and package.json.
If you are using any of the following tools in your build, you may find the following modules (that use this one under the hood) more convenient:
| Tool | Module | Version |
|---|---|---|
| Webpack | webpack-bugsnag-plugins | |
| Gulp | gulp-bugsnag | |
| Grunt | grunt-bugsnag |
bugsnag-build-reporter should be used directly if your application is built by:
- some arbitrary Node-based environment (e.g. a build tool not listed above or something custom)
- a command based tool (e.g. npm scripts, make)
Usage
This module can be used in a Node environment via the JS API or as a CLI.
JS API
To use the JS API, install this module as a development dependency of your project:
npm i --save-dev bugsnag-build-reporterThen use like so:
const reportBuild = require('bugsnag-build-reporter')
reportBuild({ apiKey: 'YOUR_API_KEY', appVersion: '1.2.3' }, { /* opts */ })
.then(() => console.log('success!'))
.catch(err => console.log('fail', err.messsage))reportBuild(build: object, opts: object) => Promise
builddescribes the build you are reporting to BugsnagapiKey: stringyour Bugsnag API key requiredappVersion: stringthe version of the application you are building requiredreleaseStage: string'production','staging'etc. (leave blank if this build can be released to differentreleaseStages)sourceControl: objectan object describing the source control of the build (if not specified, the module will attempt to detect source control information from.git,.hgand the nearestpackage.json)provider: stringcan be one of:'github','github-enterprise','gitlab','gitlab-onpremise','bitbucket','bitbucket-server'repository: stringa URL (git/ssh/https) pointing to the repository, or webpage representing the repositoryrevision: stringthe unique identifier for the commit (e.g. git SHA)
builderName: stringthe name of the person/machine that created this build (defaults to the result of thewhoamicommand)autoAssignRelease: booleanautomatically associate this build with any new error events and sessions that are received for thereleaseStageuntil a subsequent build notification is received. If this is set totrueand noreleaseStageis provided the build will be applied to'production'.appVersionCode: stringif you're using this module to report Android app builds, set this optionappBundleVersion: stringif you're using this module to report iOS/macOS/AppleTV app builds, set this option
optslogLevel: stringthe minimum severity of log to output ('debug','info','warn','error')logger: objectprovide a different logger object{ debug, info, warn, error }path: stringthe path to search for source control info, defaults toprocess.cwd()endpoint: stringpost the build payload to a URL other than the default (https://build.bugsnag.com)
CLI
To use the CLI, install it from npm:
# locally
npm i --save-dev bugsnag-build-reporter
# or globally
npm i --global bugsnag-build-reporterIf installed locally, recent versions of npm come with a tool called npx which will help run it without typing burdensome paths.
$ bugsnag-build-reporter <flags> <metadata>
Options
--api-key, -k Set your notifier API key [required]
--app-version, -v Set the app version [required]
--release-stage, -s Set the release stage
--source-control-provider, -p Set the repo provider
--source-control-repository, -r Set the repo URL
--source-control-revision, -e Set the source control revision id (e.g commit SHA)
--builder-name, -n Set the name of the entity that triggered the build
--auto-assign-release, -a Assign any subsequent error reports received to this release
--endpoint, -u Specify an alternative endpoint
--app-version-code, -c Set the version code (Android only)
--app-bundle-version, -b Set the bundle version (iOS/macOS/tvOS only)
metadata
Arbitrary "key=value" pairs will be passed to the build API as metadata
e.g. foo=bar
Examples
bugsnag-build-reporter \
--api-key cc814aead128d38d0767094327b4784a \
--app-version 1.3.5
bugsnag-build-reporter \
-k cc814aead128d38d0767094327b4784a \
-v 1.3.5Examples
Here are some examples of using bugsnag-build-reporter:
JS API
const reportBuild = require('bugsnag-build-reporter')
reportBuild({
apiKey: 'YOUR_API_KEY',
appVersion: '1.2.3',
builderName: 'Katherine Johnson'
}).then(() => {
/* success */
}, err => {
/* error */
})npm scripts
scripts: {
"report-build": "bugsnag-build-reporter -k YOUR_API_KEY -v '1.2.3' -n 'Katherine Johnson'"
}make
PATH := node_modules/.bin:$(PATH)
SHELL := /bin/bash
report-build:
bugsnag-build-reporter -k YOUR_API_KEY -v "1.2.3" -n "Katherine Johnson"Support
- Search open and closed issues issues for similar problems
- Report a bug or request a feature
- Email support@bugsnag.com
Contributing
All contributors are welcome! See our contributing guide.
License
This module is free software released under the MIT License. See LICENSE.txt for details.