diff --git a/app/assets/javascripts/reports/codequality_report/components/codequality_issue_body.vue b/app/assets/javascripts/reports/codequality_report/components/codequality_issue_body.vue index 736c8668a34ace43b73e260db445cb80459fd010..59bd54eab6031f64d3931b46f684a7043cc67aa4 100644 --- a/app/assets/javascripts/reports/codequality_report/components/codequality_issue_body.vue +++ b/app/assets/javascripts/reports/codequality_report/components/codequality_issue_body.vue @@ -33,17 +33,20 @@ export default { issueName() { return `${this.severityLabel} - ${this.issue.name}`; }, + issueSeverity() { + return this.issue.severity.toLowerCase(); + }, isStatusSuccess() { return this.status === STATUS_SUCCESS; }, severityClass() { - return SEVERITY_CLASSES[this.issue.severity] || SEVERITY_CLASSES.unknown; + return SEVERITY_CLASSES[this.issueSeverity] || SEVERITY_CLASSES.unknown; }, severityIcon() { - return SEVERITY_ICONS[this.issue.severity] || SEVERITY_ICONS.unknown; + return SEVERITY_ICONS[this.issueSeverity] || SEVERITY_ICONS.unknown; }, severityLabel() { - return this.$options.severityText[this.issue.severity] || this.$options.severityText.unknown; + return this.$options.severityText[this.issueSeverity] || this.$options.severityText.unknown; }, }, severityText: { diff --git a/app/assets/javascripts/reports/codequality_report/store/utils/codequality_parser.js b/app/assets/javascripts/reports/codequality_report/store/utils/codequality_parser.js index a794f5f0577bf72194fdbd7c82123dabddef6bec..417297df43cc04a08a8f7ed2488601b70b27a51e 100644 --- a/app/assets/javascripts/reports/codequality_report/store/utils/codequality_parser.js +++ b/app/assets/javascripts/reports/codequality_report/store/utils/codequality_parser.js @@ -1,14 +1,16 @@ -export const parseCodeclimateMetrics = (issues = [], path = '') => { +export const parseCodeclimateMetrics = (issues = [], blobPath = '') => { return issues.map((issue) => { + // the `file_path` attribute from the artifact is returned as `file` by GraphQL + const issuePath = issue.file_path || issue.path; const parsedIssue = { name: issue.description, - path: issue.file_path, - urlPath: `${path}/${issue.file_path}#L${issue.line}`, + path: issuePath, + urlPath: `${blobPath}/${issuePath}#L${issue.line}`, ...issue, }; if (issue?.location?.path) { - let parseCodeQualityUrl = `${path}/${issue.location.path}`; + let parseCodeQualityUrl = `${blobPath}/${issue.location.path}`; parsedIssue.path = issue.location.path; if (issue?.location?.lines?.begin) { diff --git a/ee/app/assets/javascripts/codequality_report/codequality_report.vue b/ee/app/assets/javascripts/codequality_report/codequality_report.vue index 0453ae114bd749e744d29f8eb9c3bdb759a5d835..18d6697cc6d2b0b2032855d6ab69e5ba39d90aac 100644 --- a/ee/app/assets/javascripts/codequality_report/codequality_report.vue +++ b/ee/app/assets/javascripts/codequality_report/codequality_report.vue @@ -1,37 +1,43 @@