---
title: Environments and versions
description: Configure environments and versions in JavaScript applications to organize errors and track deployments.
url: https://docs.honeybadger.io/lib/javascript/errors/environments-and-versions/
---

Honeybadger groups errors by the environment they belong to. You don’t have to set an environment, but it can be useful if you’re running your app in different locations, such as `"production"` and `"staging"`.

To set the environment in Honeybadger:

```javascript
Honeybadger.configure({
  // ...
  environment: "production",
});
```

Honeybadger does **not** set the environment automatically; if you’re already using `NODE_ENV`, you should configure Honeybadger like this:

```javascript
Honeybadger.configure({
  // ...
  environment: process.env.NODE_ENV,
});
```

See [Configuring with Environment Variables](https://docs.honeybadger.io/lib/javascript/reference/configuration/#configuring-with-environment-variables) for tips on how to configure Honeybadger with environment variables.

## Development environments

Some environments should not report errors at all, such as when you are developing on your local machine or running your test suite (locally or in CI). By default, `honeybadger.js` does not report errors from the following environments:

```plaintext
dev
development
test
```

Honeybadger **does not** report errors in these environments unless you explicitly enable data reporting:

```js
Honeybadger.configure({
  reportData: true,
});
```

You can also define your own list of development environments:

```js
Honeybadger.configure({
  developmentEnvironments: ["my-environment"],
});
```

## Versions

It’s not uncommon for multiple versions of a client-side application to report errors at the same time, especially as a new version is rolled out. It’s important to tell Honeybadger which version of your application is currently deployed so that we can associate the error with the correct deploy and apply the correct [source map](https://docs.honeybadger.io/lib/javascript/errors/using-source-maps/) to the stack trace.

Honeybadger uses the `revision` option to track the current version of your application. While this can be any unique value (such a “v1.2.3”), we prefer to use the Git SHA of the last commit (or the equivalent value from your source control management system):

```javascript
Honeybadger.configure({
  // ...
  revision: "dcc69529edf375c72df39b0e9195d60d59db18ff",
});
```

If you don’t configure the `revision`, Honeybadger defaults to “master”.

### Configuring the revision from Git

The simplest way to get the SHA of the current Git commit is by assigning it to an environment variable before building your project:

```sh
HONEYBADGER_REVISION=$(git rev-parse HEAD) \
  npm build # your normal build command (could also be yarn, webpack, etc.)
```

The `HONEYBADGER_REVISION` environment variable can be accessed with `process.env.HONEYBADGER_REVISION` in Node.js (and `$HONEYBADGER_REVISION` in other shell scripts):

```javascript
Honeybadger.configure({
  // ...
  revision: process.env.HONEYBADGER_REVISION,
});
```

See [Configuring with Environment Variables](https://docs.honeybadger.io/lib/javascript/reference/configuration/#configuring-with-environment-variables) for tips on how to configure Honeybadger with environment variables.

You can also get the current Git SHA from inside Node.js, if you prefer:

```javascript
const revision = require("child_process")
  .execSync("git rev-parse HEAD")
  .toString()
  .trim();
```

### Configuring the revision on Netlify

Netlify provides the current commit SHA in the `COMMIT_REF` environment variable:

```javascript
Honeybadger.configure({
  // ...
  revision: process.env.COMMIT_REF,
});
```

See [Build environment variables](https://docs.netlify.com/configure-builds/environment-variables/#git-metadata) in Netlify’s docs for additional Git metadata that is available at build-time; for tips on how to configure Honeybadger with environment variables, see [Configuring with Environment Variables](https://docs.honeybadger.io/lib/javascript/reference/configuration/#configuring-with-environment-variables).

---

## Try Honeybadger for FREE

Intelligent logging, error tracking, and Just Enough APM™ in one dev-friendly platform. Find and fix problems before users notice.

[Start free trial](https://app.honeybadger.io/users/sign_up)

[See plans and pricing](https://www.honeybadger.io/plans/)
