Rollout.io - Documentation

Node.js SDK

This section describes how to set up and install the Node.js SDK and how to deploy a feature flag.

Getting started with Node.js SDK

Step 1 - Setting up

The following are prerequisites for installing the Node.js SDK:

  1. A Rollout account. See Signup Page to create an account.

  2. An Application created in the Rollout dashboard.

    • The first time you log into your account, click the Create New App button to create a new app.
  1. An environment key.
    • Get the key from App Settings > Environment > Key

Step 2 - Installing the Node.js SDK

Add the CloudBees Rollout Node.js package to your application

To add the Rollout Node.js library to your application, run the following npm commands:

# # Add Rollout node.js SDK package as your application dependency
$ npm i rox-node --save

# For TypeScript projects, also add the corresponding types:
npm i @types/rox-node --save

Add the following lines of code to your application

// Import Rollout SDK
import Rox from 'rox-node';

// Create a Roxflag in the flags container class
const flags = {
  enableTutorial: new Rox.Flag(),
  titleColors: new Rox.Variant('White', ['White', 'Blue', 'Green', 'Yellow']),
};

async function initRollout() {
  const options = { };

  // Register the flags with Rollout
  Rox.register('', flags);

  // Setup the Rollout key
  await Rox.setup('<ROLLOUT-ENV-KEY>', options);

  // Boolean flag example
  if (flags.enableTutorial.isEnabled()) {
    console.log('enableTutorial flag is true');
    // TODO:  Put your code here that needs to be gated
  }

  // Multivariate flag example
  console.log('Title color is ' + flags.titleColors.getValue());
}

initRollout().then(function() {
  console.log('Done loading Rollout');
});
// Import Rollout SDK
const Rox = require('rox-node');

// Create a Roxflag in the flags container class
const flags = {
  enableTutorial: new Rox.Flag(),
  titleColors: new Rox.Variant('White', ['White', 'Blue', 'Green', 'Yellow']),
};

async function initRollout() {
  const options = { };

  // Register the flags with Rollout
  Rox.register('', flags);

  // Setup the Rollout key
  await Rox.setup('<ROLLOUT-ENV-KEY>', options);

  // Boolean flag example
  if (flags.enableTutorial.isEnabled()) {
    console.log('enableTutorial flag is true');
    // TODO:  Put your code here that needs to be gated
  }

  // Multivariate flag example
  console.log('Title color is ' + flags.titleColors.getValue());
}

initRollout().then(function() {
  console.log('Done loading Rollout');
});

Container class registration and environment key setup

  • The Rox.register() function must be called before the Rox.setup() function.

  • You can not call Rox.setup() twice in the same runtime.

Run your application.

Running the Application

The Flag name is automatically added to the Rollout dashboard after running the application.

Step 3 - Deploying a feature flag

Finding your flags in the Rollout dashboard

After creating feature flags and running your feature code, you can find your flags in the Rollout dashboard.

To find your flags in the Rollout dashboard:

  1. Find your app in the Rollout dashboard
    To switch between apps, click on the app name in the top-left corner of the screen and select the app you want from the pulldown.

  2. Click on Flags on the left side of the navigation panel.

  3. Confirm that your flag is listed in the flag view.

Configuring deployment rules

  1. Go to Rollout's dashboard.
  2. Click on Experiments on the left panel.
  3. Click the Create Experiment button to create a new experiment.
  4. In the New Experiment window:
    • Find the Flag name from the menu, choose it.
    • Click the Set Audience button to continue. The Experiment Details view appears.
  5. Select either True, False, Split or Scheduled. Split allows you to select the percentage of the target group that you want to deploy. Scheduled allows you to schedule a deployment date.
  1. Click Update Audience.

Note:

  • You can not delete the default condition.
  • You can click the Reset link to go back to the state from before you started making changes. Reset only appears when you've made saved modifications.

See Audience for more detailed information.

Updated about a month ago


What's Next

Audience

Node.js SDK


This section describes how to set up and install the Node.js SDK and how to deploy a feature flag.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.