Create properties using Custom properties in code or Built-in targeting properties properties defined in the code. All property configurations are scoped to the application where they are defined. They are not shared across applications.
Built-in targeting properties
The following table lists built-in targeting, in the format of rox.<attribute name>:
Attribute name | Description | Data type |
---|---|---|
|
Application release version. This is the value set in the SDK’s |
SemVer |
|
Universally unique identifier (UUID). |
String |
|
ISO 639 two-letter language code. For example, 'en' for English, 'es' for Spanish, and 'zh' for Chinese. |
String |
|
Current time. |
DateTime |
|
Code language or framework name. For example, 'Python' or 'Gradle'. |
String |
|
Screen height in pixels. |
Number |
|
Screen width in pixels. |
Number |
Learn more about defining properties in the SDK references, and using properties to configure flags.
Create custom properties in either the UI or in code.
The following property types are available:
-
Boolean
-
Number (some code languages use Double and Int)
-
String
-
SemVer (
pre-release
andpatch
labels are not supported.) -
DateTime
Custom properties in code
Add a custom property to your connected app code for use in target groups or directly within feature flag configurations, then run the app to display the property options in the UI.
Custom properties are not limited to target groups; they can also be used individually inside a feature flag configuration. This allows for more granular flag targeting without requiring a predefined target group. For example, you can apply a custom property directly within flag rules to evaluate specific conditions based on user attributes.
For example, the following code within a connected JavaScript app results in the target group options displayed below.
Rox.setCustomStringProperty('company', getCompany()) Rox.setCustomBooleanProperty('isBetaUser', betaAccess()) Rox.setCustomBooleanProperty('isLoggedIn', isLoggedIn()) Rox.setCustomDateTimeProperty('isTargetDate', getTargetDate())
The DateTimeProperty is only available for CloudBees platform.
|

Usage examples: Explicit custom properties
Define explicit custom properties depending on the code language of your connected application:
Usage examples: Implicit custom properties
A dynamic custom property rule handler is called when an explicit custom property definition does not exist in the platform.
If you do not define this rule handler, the default function is activated, which tries to extract the property value from the context by its name.
A generic implementation of that handler is described by the following:
(propName, context) => context ? context[propName] : undefined
Create this handler for implicit custom properties, depending on the code language of your connected application:
If you are using a client-side SDK, and the value of a custom property changes while the app is running, such as after a user signs in, you may need to use Rox.unfreeze() .
|
Manage custom properties in the UI
Create your own custom properties in the UI that can be used in target groups or as criteria for feature releases.
Access custom properties
To access custom properties, select
. Search for a specific custom property by entering all or part of a property name into Search.
Select ![]() ![]() |
Create a custom property
To create a custom property in the UI:
-
Select
. -
Select Create custom property.
-
Enter a Name.
-
(Optional) Enter a Description.
-
Select a data type from the options.
-
Select Save.
The custom property is created accordingly.
Update a custom property
You cannot update the custom property Name or Data type, but you can update the optional Description.
To update a custom property description:
-
Select
. -
Select
next to the property you want to update.
-
Select Edit property, and update or delete the description.
-
Select Update.
The custom property is updated accordingly.
Delete a custom property
A custom property cannot be deleted while it is still in use. You must first remove all references to it, such as conditions or configurations that use the property. Select Edit custom property to review and remove all references. Once all references are removed, the property can be safely deleted.
To delete a custom property:
-
Select
. -
Locate the custom property to be deleted.
-
Select
next to the property.
-
Select Delete. One of two dialogues displays.
-
The Delete (custom property) dialogue appears when the property is still in use. Follow these steps to remove the references:
-
Review the environments where the property is being used.
-
Verify that deletion is blocked; the Delete option is disabled until all references are removed.
-
Select the Edit flag configuration link to open the configuration interface and review how the property is applied in feature flag rules. Then, delete the configuration or condition as needed.
view the Delete (custom property) dialogue
Figure 2. Delete (custom property) dialogue -
To remove a full configuration, including all conditions within the configuration select Delete next to the configuration.
-
Select Save configuration to confirm changes.
Figure 3. Delete a configuration -
To remove conditions, select
next to the conditions you want to delete.
Figure 4. Delete a single condition -
Select Save configuration to confirm changes.
-
-
The safely delete (custom property) dialogue appears, indicating all references are removed.
Select Delete to permanently remove the custom property from the CloudBees platform.
Figure 5. Safely delete custom property dialogue
-
Once deleted, the custom property cannot be restored. |
For configuring user segmentation with target groups, refer to Target groups.