You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* chore(scorecard): create a new module for sonarqube
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* feat(scorecard): add SonarQube metric providers for quality gate, issues, and security
Add four metric providers to the scorecard-backend-module-sonarqube plugin:
- Quality gate status (boolean)
- Open issues count (number)
- Security rating (number, A=1 to E=5)
- Security issues/vulnerabilities count (number)
Includes SonarQubeClient, config, factory, example catalog entity, and unit tests.
SonarQube baseUrl defaults to https://sonarcloud.io; token is optional for public projects.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* feat(scorecard): support multiple SonarQube instances and align with config schema
- Add config.d.ts with typed config schema supporting default + named instances
- Refactor SonarQubeClient to resolve instance by name from sonarqube.instances[]
- Parse sonarqube.org/project-key annotation for optional instance prefix (instance/project-key)
- Use apiKey + authType (Basic/Bearer) from config.d.ts instead of token
- Falls back to default instance when no instance prefix in annotation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* docs(scorecard): add README for sonarqube module
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* fix(scorecard): base64-encode Basic auth header for SonarQube API
SonarQube expects Basic auth as base64(apiKey:) with an appended colon.
Bearer auth passes the apiKey directly without encoding.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* chore(scorecard): add api report for ci check
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* chore(scorecard): fix publish check ci checks and make the package public
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* feat(scorecard): add 8 additional SonarQube metric providers
Add metrics for code coverage, code duplications, security review rating,
security hotspots, reliability rating/issues, and maintainability rating/issues.
Refactors calculateMetric to use a data-driven API key mapping table instead
of a switch statement, and deduplicates rating thresholds into a shared constant.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* fix(scorecard): add missing mockSonarqubeScorecardResponse to e2e apiUtils
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* chore(scorecard): try to fix the scorecard e2e tests
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* chore(scorecard): update descriptions and readme
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* chore(scorecard): remove unused externalBaseUrl from sonarqube config
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* chore(scorecard): yarn dedupe
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* chore(scorecard): refactore code to fromConfig pattern
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* chore(scorecard): use five thresholds for A-E ratings, use success/error thresholds for security rating
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* feat(scorecard): add sonarqube translations
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* feat(scorecard): add tooltip to Scorecard header to show titles that are longer then one line
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* chore(scorecard): fix e2e tests
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
* fix(scorecard): e2e tests
Signed-off-by: Ihor Mykhno <imykhno@redhat.com>
* refactor(scorecard): SonarQube providers
Signed-off-by: Ihor Mykhno <imykhno@redhat.com>
* fix(scorecard): update fetch reference and correct expected result in tests
Signed-off-by: Ihor Mykhno <imykhno@redhat.com>
* fix(scorecard): type imports
Signed-off-by: Ihor Mykhno <imykhno@redhat.com>
* fix(scorecard): increase initial delay and refactor logger mocks in tests
Signed-off-by: Ihor Mykhno <imykhno@redhat.com>
* fix(scorecard): make apiKey optional for SonarQube configuration and update README
Signed-off-by: Ihor Mykhno <imykhno@redhat.com>
---------
Signed-off-by: Christoph Jerolimov <jerolimov+git@redhat.com>
Signed-off-by: Ihor Mykhno <imykhno@redhat.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Ihor Mykhno <imykhno@redhat.com>
0 commit comments