Enable additional filtering on Group Cycle Analytics Page
Problem to solve
During 12.1, we decided to leave out the additional filtering for cycle analytics due to complications of moving cycle analytics to a group level. However, as per Group Cycle Analytics over Time old proposal, in order to have a dashboard, which is adequately interactive, we should enable users to filter by labels, authors, assignees, milestones. We might want to see how cycle times worked for issues labeled as 'bugs' or 'features' for example or when they were a P1 or S1, how cycle times were different for a specific assignee, etc.
N.B. We currently allow filtering by multiple projects on default cycle analytics, so this functionality should be supported as well.
I would recommend that our filtering needs are taken into account in the design in (will comment there): https://gitlab.com/gitlab-org/design.gitlab.com/issues/272
- In the meantime let's just add an additional filter similarly to what we have for productivity analytics. This means that each event would be filterable by these.
Permissions and Security
Current group permissioning applies for Reporter level.
As an MVC:
- a user should only see groups /subgroups/projects that are Silver and above if gitlab.com and they are reporters
- for self managed, it's inherited from the license, i.e. Premium and above would be able to see everything they are reporter level
What does success look like, and how can we measure that?
A user is able to filter by different labels, etc in order to drill down into cycle times for specific type of work.
What is the type of buyer?
Links / references
- Let's show the full path to the group/project, similarly as we do on project dashboard.
- The labels of the dropdowns should use the plural to indicate that multiple groups/projects can be selected.
- When one group/project is selected we show its name in the closed dropdown. When more than one are selected, we show
x groups/projects selected.
- the search box should be automatically focused when the dropdown opens so that the user can start typing straight away.