Ability to exclude Feature flags for specific users
Problem to solve
We recently rolled out feature flags with the ability to turn a feature off or on for specific userids. This use case is useful if the feature flag is intended for a small number of users. Another use case may be the reverse, the user may want to turn on the feature flag for the majority of users but off for a small number of users.
This is part of the Progressive Delivery MVC (&1198 (closed)), specifically the
stage 1 section that's about enabling developers to do controlled rollouts.
- Developers who create feature flags
- QA engineers enabling/disabling flags
- Release managers who want to control which features are released and to which customer base
- Support engineers that wish to release features to beta customers or test version to fix bugs for specific customers
Note: The userids listed belong to the 3rd party application and not to gitlab users (with the exclusion of dog-fooding) UserID selection is based on simple string matching, as you can see how it works if you use the Unleash UI here: https://gitlab.com/gitlab-org/gitlab-ee/uploads/c5752845de124863b0d2889b28c9d244/image.png
In the Unleash library
inverseXWithId covers the scenario where a flag is enabled for everything but a few IDs, whereas
xWithId covers the alternate. If you want both at the same time, you would be better off choosing the one that requires the least amount of IDs.
- Copy stretagy:
- Copy help text:
Enter one or more user ID separated by commas. The feature will not be available for these users.
Permissions and Security
What does success look like, and how can we measure that?
Measure number of excluded userids