Skip to content
GitLab
Next
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 44,763
    • Issues 44,763
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,329
    • Merge requests 1,329
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • 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
  • #328257
Closed
Open
Issue created Apr 19, 2021 by Scott Hampton@shampton💡Maintainer0 of 5 checklist items completed0/5 checklist items

Migrate pipeline code quality report to GraphQL

Release notes

It is possible for you to run linters and scanners in addition to the one included with the GitLab Code Quality Template. If you generate that data in another job though only the last CodeQuality report will be used by GitLab's Code Quality features so you are missing out on issues detected by all the scans.

Now the Full Code Quality report supports reading multiple reports and displaying data from all of them. This means you can get a better view of quality issues in your code and fix them earlier in the development process.

Summary

In order to move forward quickly with future iterations of the pipeline code quality report tab, it is important that we lay a proper foundation by moving this report to GraphQL.

Improvements

  • Allow for quicker iterations between frontend and backend
  • Take advantage of the caching we already have on that page from other components using GraphQL

Risks

We could break the page temporarily. However, we can mitigate this possibility by using a feature flag to enable/disable this migration.

Involved components

frontend

  • ee/app/assets/javascripts/pages/projects/pipelines/show/codequality_report.js
  • everything in the ee/app/assets/javascripts/codequality_report folder
  • Implement feature using new GraphQL API
  • Remove custom logic for sorting degradations
  • Add a note to the code quality report documentation about supporting multiple reports as of this release version.

backend

Implementation Plan ✍

Step MR(s)/Issue(s) Status
backend Introduce a new CodeQualityReportType in GraphQL (EE) !61383 (merged) workflowproduction
backend Filter degradations by severity !62710 (merged) workflowproduction
frontend MVC to get the GraphQL data into the same spot where the REST data was !69917 (merged) workflowproduction
frontend Improve the GraphQL UX to match what we had in the REST version, set up fixtures to use in the frontend specs instead of mock data !72036 (merged) workflowin review
Perform the feature flag rollout #340525
frontend Remove the feature flag, clean up dead code
documentation Add a note about support for multiple reports (could be combined with feature flag removal)
backend Remove existing REST API blocked (waiting to implement frontend first)
Edited Oct 20, 2021 by Miranda Fluharty
Assignee
Assign to
Time tracking