About feature flags

2 minute read

Feature flags are the foundation of the CloudBees Feature Management platform and can encompass many different types of logic and code. Flags can be defined as boolean, numbers, or strings.

Once a flag is created, you can easily enable and disable features in your application - giving you full control over how users are able to interact with your application.

Apps, environments, and flags

There is an important relationship between apps, environments, and flags that allows for increased reusability and scalability.

Apps are the highest-level in the hierarchy, encompassing unique environments and flags underneath them. Apps should reflect the individual products and services your organization may have. It should not reflect one app in several states of servers.

Environments represent your deployment pipeline: production, staging, or testing. CloudBees Feature Management supports working with multiple environments. Refer to Environments for more information.

Flags are shared between environments, but the feature flag configuration can be different in each environment.

Default values of flags

A flag default value is the value of the flag that is created when defining flags in the code. Default values are mandatory and flags cannot be created without them. They will be served when there is no configuration available (for any reason) or no other value overrides it.

A boolean flag is false by default. To override the value, pass the desired value to the flag.

A string flag has an explicit configuration for its default value.  In most languages, the first value would be the default value followed by an array of potential values.

Accessing flags in the app

Each app has its own Overview that lists all feature flags.

From Overview, you can:

The Overview list displays:

  • The flag creation date.

  • The platform. Refer to SDK installation for more information.

  • Configuration status in each environment and a link to the flag configuration for each environment. Refer to Managing feature releases for more information.

You can sort flags by selecting a column heading. Columns can be sorted in ascending or descending order.

Overview page showing flag list
Figure 1. Overview page