I’m configuring Getport.io and I’m having issues in Sonarqube Analysis and Issues. It doesn’t find the location of a issues file. I’ve checked the official documentation for doing this configuration.
https://docs.getport.io/build-your-software-catalog/sync-data-to-catalog/code-quality-security/sonarqube/
This is my configuration:
deleteDependentEntities: true
createMissingRelatedEntities: true
enableMergeEntity: true
resources:
- kind: projects
selector:
query: ‘true’
apiFilters:
filter:
qualifier: TRK
metrics:
– code_smells
– coverage
– bugs
– vulnerabilities
– duplicated_files
– security_hotspots
– new_violations
– new_coverage
– new_duplicated_lines_density
port:
entity:
mappings:
identifier: .key
title: .name
blueprint: ‘”sonarQubeProject”‘
properties:
organization: .organization
link: .__link
qualityGateStatus: .__branch.status.qualityGateStatus
lastAnalysisDate: .__branch.analysisDate
numberOfBugs: .__measures[]? | select(.metric == “bugs”) | .value
numberOfCodeSmells: .__measures[]? | select(.metric == “code_smells”) | .value
numberOfVulnerabilities: .__measures[]? | select(.metric == “vulnerabilities”) | .value
numberOfHotSpots: .__measures[]? | select(.metric == “security_hotspots”) | .value
numberOfDuplications: .__measures[]? | select(.metric == “duplicated_files”) | .value
coverage: .__measures[]? | select(.metric == “coverage”) | .value
mainBranch: .__branch.name
tags: .tags - kind: analysis
selector:
query: ‘true’
port:
entity:
mappings:
identifier: .analysisId
title: .__commit.message // .analysisId
blueprint: ‘”sonarQubeAnalysis”‘
properties:
branch: .__branchName
fixedIssues: .measures.violations_fixed
newIssues: .measures.violations_added
coverage: .measures.coverage_change
duplications: .measures.duplicated_lines_density_change
createdAt: .__analysisDate
relations:
sonarQubeProject: .__project - kind: onprem_analysis
selector:
query: ‘true’
port:
entity:
mappings:
identifier: .__project + “-” + .key
title: .title
blueprint: ‘”sonarQubeAnalysis”‘
properties:
branch: .branch
newIssues: >-
.__measures[]? | select(.metric == “new_violations”) |
.period.value
coverage: .__measures[]? | select(.metric == “new_coverage”) | .period.value
duplications: >-
.__measures[]? | select(.metric == “new_duplicated_lines_density”)
| .period.value
createdAt: .analysisDate
relations:
sonarQubeProject: .__project - kind: issues
selector:
query: ‘true’
apiFilters:
resolved: ‘false’
projectApiFilters:
filter:
qualifier: TRK
port:
entity:
mappings:
identifier: .key
title: .message
blueprint: ‘”sonarQubeIssue”‘
properties:
type: .type
severity: .severity
link: .__link
status: .status
assignees: .assignee
tags: .tags
createdAt: .creationDate
relations:
sonarQubeProject: .project - kind: saas_analysis
selector:
query: ‘true’
port:
entity:
mappings:
identifier: .analysisId
title: .__commit.message // .analysisId
blueprint: ‘”sonarQubeAnalysis”‘
properties:
branch: .__branchName
fixedIssues: .measures.violations_fixed
newIssues: .measures.violations_added
coverage: .measures.coverage_change
duplications: .measures.duplicated_lines_density_change
createdAt: .__analysisDate
relations:
sonarQubeProject: .__project
What I have is:
Logs:
[23 Sep 2024 08:15:30:711 +0200]
HTTP error with status code: 404 and response text: {“errors”:[{“msg”:”Unknown url : /api/issues/list”}]}
[23 Sep 2024 08:15:30:711 +0200]
Resource not found: {“errors”:[{“msg”:”Unknown url : /api/issues/list”}]}
Test mapping:
{
"Resource #1": {
"identifier": "****",
"title": "*****",
"blueprint": "sonarQubeProject",
"properties": {
"organization": null,
"link": "*****",
"qualityGateStatus": "ERROR",
"lastAnalysisDate": "2020-10-22T10:47:04+0200",
"numberOfBugs": "630",
"numberOfCodeSmells": "1766",
"numberOfVulnerabilities": "12",
"numberOfHotSpots": "9",
"numberOfDuplications": "87",
"coverage": "0.0",
"mainBranch": "master",
"tags": [
"****"
]
}
},
"Resource #2": {
"identifier": null,
"title": null,
"blueprint": "sonarQubeAnalysis",
"properties": {
"branch": null,
"fixedIssues": null,
"newIssues": null,
"coverage": null,
"duplications": null,
"createdAt": null
},
"relations": {
"sonarQubeProject": null
}
},
"Resource #3": {
"identifier": "-",
"title": null,
"blueprint": "sonarQubeAnalysis",
"properties": {
"branch": null,
"createdAt": null
},
"relations": {
"sonarQubeProject": null
}
},
"Resource #4": {
"identifier": null,
"title": null,
"blueprint": "sonarQubeIssue",
"properties": {
"type": null,
"severity": null,
"link": null,
"status": null,
"assignees": null,
"tags": null,
"createdAt": null
},
"relations": {
"sonarQubeProject": null
}
},
"Resource #5": {
"identifier": null,
"title": null,
"blueprint": "sonarQubeAnalysis",
"properties": {
"branch": null,
"fixedIssues": null,
"newIssues": null,
"coverage": null,
"duplications": null,
"createdAt": null
},
"relations": {
"sonarQubeProject": null
}
}
}