Show feature flag relationship in issues
Problem to solve
Broken off of #26456 (comment 355378171) as a next iteration.
Our feature flag list interface is nice, but it may be unclear what a feature flag was just by reading the name. Typically this will be an operations person coming in and looking for a feature flag and wanting to understand what they are looking at.
From the issue side, we can make it clear what the status of the associated feature flag is for that feature.
The combination of these two would make it easy to understand what feature flags are for and what the status of an issue is as it relates to feature flags.
Target audience
- Sidney, Systems Administrator, https://design.gitlab.com/research/personas#persona-sidney
- Product Manager (or others who are setting or need to know the state of feature flags)
Further details
Future phases: Once we connect between the feature flag and the associated issue we can further enhance the transparency by adding the environment on which the feature flag is enabled and later on the % rollout. After that we can enable the user to click on the feature flag from the issue to change its settings and vice versa, the environment will list the associated flags within it (already exists) and a list of the related issues that can be clickable as well.
Allow users to be able to map a given feature flag to a change that introduced it. This could be linked to from various places where we show the feature flag (issue, mr, epic), adding important context.
Proposal
We currently support linked issues from feature flags.
In this issue we will show feature flag relationships in issues. If a feature flag has a relationship with issues, those issues will have a section for the related feature flags. As we broke the original issue to a smaller issues, mentions or adding feature flags in issue will not be supported.
) Showing feature flag relationship in issues
- backend Add endpoint For fetching Feature Flags references from Issues
- frontend shows the related feature flag list in an issue. This can be worked after !52144 (merged).
- documentation and feature flag rollout.
UX Proposal
Associate a feature flag on issues by mentioning
- Feature flags can be mentioned/linked in the description and comments to add relationship
- Mentions can be made using a link to the feature flag
- References across projects can be made with links and should be displayed with shortened links(ie gitlab-ce^89012)
Issues screen
- Add a section for related feature flags
- Feature flags can be mentioned/linked in the description and comments to add relationship - If there are no related feature flags, do not show the component
Description | Mockup |
---|---|
Related feature flag section | |
Issue screen |
Additional decisions from discussions below:
- Feature flags should follow related issues and related MRs in regards to the icon: Enabled feature flags should be displayed in green with the
feature-flag
icon. Disabled feature flags should be blue withfeature-flag-disabled
icon. Each should have a tooltip - Feature flag icon should have a tooltip on hover that states
Feature flag: enabled
andFeature flag: disabled
respectively. Future iterations may include additional data such as dates. - Add a
question
icon in the Feature Flag section header that directs users to the documentation.
TODOs
-
1 for state management (loading the mentions) -
1 for related feature flags box on the issue side
What does success look like, and how can we measure that?
Amount of clicks from issue to feature flag and vice vera
Links / references
Feature Flag for Developments
This feature is developed behind feature_flag_contextual_issue
feature flag. The rollout issue is #320741 (closed).