Add Rule based feature flag rollout strategy support

Problem to solve

When selecting a group of users to receive or not receive a feature behind a flag, the current implementation doe not allow creating such a group according to a set of rules.

We currently support userids - which forces the user to manually add the user ids. We are adding support for groups #13308 (closed) but these groups serve as a container for user ids. We need to add support for "smart" grouping or rule based.

Intended users

Our own growth team

Release managers Customer support engineers Developers developing behind feature flags QA engineers

Further details

Such use cases could be

  • releasing features to based on tiers
  • releasing features based on domain (xx@gitlab.com)
  • releasing features based on geo location
  • releasing features based on the membership date
  • releasing features based on the number of repos/projects (or equivalent)

Since we are using Unleash which treats userids as 3rd party - any rule created must have some kind of API to get the response needed in order to determine whether or not a user fits in a specific rule

Proposal

Allow the user to create a group based on rules (UX needed)

Permissions and Security

Documentation

Cloudbees rule based implementation: image image

Azure DevOps implementation

image image

Testing

What does success look like, and how can we measure that?

What is the type of buyer?

Links / references

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖