Skip to content
GitLab
Next
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 52,583
    • Issues 52,583
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,553
    • Merge requests 1,553
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLabGitLab
  • Issues
  • #13308
Closed
Open
Issue created Aug 05, 2019 by Orit Golowinski@ogolowinskiDeveloper

Shared user lists for Feature Flag strategies

Problem to solve

After rolling out feature flags with the ability to turn them off or on per environment. We added the ability to control percent rollout based on users (https://gitlab.com/gitlab-org/gitlab-ee/issues/8240). However, it is quite tedious to add lots of users over and over again per flag/environment, creating lists will create a container that is convenient to use and reuse.

Intended users

  • 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

Further details

We want to create lists that users can be associated to - this will serve as a container.

Feature flags can later use these lists in order to enable/disable features per list and environment.

For the first iteration, lists will serve as a simple container.

In the future, we would like to import/export users from a list We would like to create complex lists - not only as a list of users but also users that meet a specific criteria such as email extension (i.e @gitlab.com), belong to a specific customer tier, age (based on create date) etc.

We would later also associate the feature flag list to the epic/issue

Proposal

Support for creating the list strategy via API will be developed in #205409 (closed). This issue is to extend support in the UI based on the UX proposal below.

Add lists as a container for a list of users that can be referenced by feature flags.

UX proposal

Add the ability to create a list and define users within it.

  • Add a button to the feature flags list page to allow new lists to be created
  • Add a new list screen
    • Users can name a list
    • User can save a list
  • Add a screen to manage users within a list
    • Users can see a list of users
    • Users have the ability to add users
    • Users can delete users
    • Users can edit the list (name) Add a tab to the feature flags list page to view a list of lists
  • Users can edit lists
  • Users can delete lists
  • List items should display
    • list name
    • created date
    • modified date
    • modified by
    • expandable list of user ids
Description Mockup
Lists tab Lists
List tab empty state image
New/Edit Edit_group
List details empty state image
List details Group_detail
Add users modal Add_user_modal

Note: This proposal would eliminate the Enabled/Disabled tab that are useful views for sorting feature flags. The intent is to reintroduce this functionality in #35558

Future considerations

  • We will likely want to introduce additional group types in the future.
  • Possible other future enhancements could include:
    • Filter/Sort Feature Flag Lists #35753
    • Filter/Sort data within feature flag lists #35755
    • Add bulk delete for feature flag list data #35757
    • Show related feature flags on lists #35762

Permissions and Security

A list can only be created by someone that is a maintainer of a project or higher.

Documentation

Testing

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

  • Number of times a list is added/removed to a feature flag
  • Number of times a user is added/removed to a list

What is the type of buyer?

Links / references

Edited Jun 23, 2020 by Mike Nichols
Assignee
Assign to
Time tracking