Code Quality MR Widget should group findings by information which scanner/plugin listed the finding.
The CodeQuality report on the MR Widget can be very noisy from time to time
Example Link: !107412 (merged) (limited lifetime until it's merged
noisy CodeQuality Widget Example | corresponding Diff |
---|---|
![]() |
![]() |
While we should be working on making the reports less noisy in the long run, a valid first Iteration might be to group the CodeQuality MR Widget findings by the CodeClimate Plugin they where reported from.
If somebody reviews or authors a MR on a large code-base where multiple plugins come into play. They might not have touched some things our Scanner cares about, by grouping the findings it will be possible for our Users to filter and find valid findings in a noisy report. Since we're currently just rendering out a very long list which is very hard to make sense of if things get noisy.
The CodeQuality MR Widget is using the Merge Request Widget Extension, which supports items on level 2, an example can be found here: gitlab-org/frontend/playground/gitlab-mr-widgets-demo!3 (closed) on the Test widget. This feature seems to be undocumented at the moment.
Implementation Plan(Draft)
- add engine name from code Quality artifact to CodeQuality MR Widget endpoint backend
- sort MR Widget List findings by Engine Name (will require changes to CodeQuality MR Widget Extension Core) frontend
Open Question
- Should the Pipeline Code Quality report do the same thing? How can we best iterate on this?