1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00

docs: feature flag naming patterns (#4632)

This PR adds a reference doc and a how-to doc for feature flag naming
patterns.

Extra thanks to @sebastian-bury for the draft from the offsite 👏🏼
This commit is contained in:
Thomas Heartman 2023-09-11 15:28:10 +02:00 committed by GitHub
parent f88e15c45c
commit 4de3ff3d2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 60 additions and 0 deletions

View File

@ -0,0 +1,28 @@
---
title: How to add feature flag naming patterns
---
:::info Availability
Feature flag naming patterns is an in-development, **enterprise-only** feature.
:::
This short guide will show you how to add [feature flag naming patterns](../reference/feature-flag-naming-patterns.mdx) to a project.
## Prerequisites
- You must be using an Unleash Enterprise instance.
- You must have permissions to edit project settings for the project you want to add feature flag naming patterns to.
## Step 1: Navigate to project settings
Navigate to the project settings page for the project you want to add feature flag naming patterns to.
## Step 2: Add a feature flag naming pattern
Use the "feature flag naming pattern" section of the project settings form to add a feature flag naming pattern, plus the optional example and/or description.
When you've entered you're data, save the changes.
![The "feature flag naming pattern" part of the form. Input fields for pattern, example, and description](/img/naming-pattern-forms.png)

View File

@ -0,0 +1,30 @@
---
title: Feature Flag Naming Patterns
---
:::info Availability
Feature flag naming patterns is an in-development, **enterprise-only** feature.
:::
A feature flag naming pattern is [JavaScript regular expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) that is used to validate the name of a feature flag before the flag can be created. The pattern is defined in the project settings and is enforced when creating a new feature flag. The pattern is also enforced when creating a new feature flag via the API.
Feature flag naming patterns are defined on a per-project basis.
In addition to the pattern itself, you can also define a an example and a description of the pattern. If defined, both the example and the description will be shown to the user when they are creating a new feature flag.
## Overview
The naming pattern consists of three parts:
<dl>
<dt><strong>Pattern</strong> (required)</dt>
<dd>The <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp">regular expression</a> that is used to validate the name of the feature flag. Must be a valid regular expression. Flags (such as case insensitivity) are not available.</dd>
<dt><strong>Example</strong> (optional)</dt>
<dd>An example of a name that is valid according to the provided pattern. Note: the example <strong>must</strong> be valid against the described pattern for it to be saved.</dd>
<dt><strong>Description</strong> (optional)</dt>
<dd>Any additional text that you would like to display to users to provide extra information. This can be anything that you think they would find useful and can be as long or short as you want.</dd>
</dl>
For instance, you might define a pattern that requires all feature flags to follow a specific pattern, such as `^(red|blue|green|yellow)\.[a-z-]+\.[0-9]+$`. You could then provide an example of a valid feature flag name (for instance "blue.water-gun.64") and a description of what the pattern should reflect: "`<team>.<feature>.<ticket>`".

View File

@ -92,6 +92,7 @@ module.exports = {
label: 'Feature toggles, strategies, context',
items: [
'how-to/how-to-add-strategy-constraints',
'how-to/how-to-add-feature-flag-naming-patterns',
'how-to/how-to-capture-impression-data',
'how-to/how-to-create-feature-toggles',
'how-to/how-to-define-custom-context-fields',
@ -347,6 +348,7 @@ module.exports = {
'reference/custom-activation-strategies',
'reference/environments',
'reference/strategy-variants',
'reference/feature-flag-naming-patterns',
'reference/feature-toggles',
'reference/feature-toggle-types',
'reference/feature-toggle-variants',

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB