Design: Code Quality Report sort, filter and search
Problem to solve
Having the entire code quality report available to developers in the pipeline view is nice for small projects or projects with only a handful of overall issues but it's overwhelming on a project like GitLab.org which has over 1000 code quality errors. Finding anything in that list that is actionable is impossible.
Intended users
Further details
This feature will get us closer to the goals of making the code quality data usable for all developers and ensuring Delaney can help fight off tech debt in a project.
Proposal
This issue is to create the design for the interface which will be broken down and implemented iteratively.
When Viewing the Full report in a pipeline view there are a few things that would make this more actionable.
- Add a sort by filename so all violations in files are grouped together. This will allow a developer to modify one file but fix multiple issues.
- Add a sort by violation type. This will allow a developer to apply a similar/same fix to multiple files.
- Add a search by file name.
- Add a search by violation type.
- Add a filter / checkbox to show violations in files modified in the current branch.
- This will allow a developer to fix multiple things in a file they are already modifying to leave it better than they found it.
- Add a tracking event for when a search/filter is applied to track active users of the feature
- TBD - do we only track one usage per session/pipeline/user? eg; I searched 40 times on this single pipeline does it count as 40 or 1?
- Data should route to snowplow to be consumed in periscope.
Permissions and Security
Documentation
Availability & Testing
@zeffmorgan - take a look when you get a chance, performance will no doubt be something we need to consider here.
What does success look like, and how can we measure that?
Success
- This change will result in an increase of 25% in active users of the Full Code Quality report within 90 days of its launch as measured on .com.
Acceptance Criteria
What is the type of buyer?
This is a value add for Delaney an engineering/dev team lead. This will be included in GitLab Premium.