diff options
Diffstat (limited to 'server')
7 files changed, 59 insertions, 2 deletions
diff --git a/server/sonar-db-migration/src/it/java/org/sonar/server/platform/db/migration/version/v202505/AddPublishedOnToScaVulnerabilityIssuesTest.java b/server/sonar-db-migration/src/it/java/org/sonar/server/platform/db/migration/version/v202505/AddPublishedOnToScaVulnerabilityIssuesTest.java index 562d12ee3c6..980dad49bea 100644 --- a/server/sonar-db-migration/src/it/java/org/sonar/server/platform/db/migration/version/v202505/AddPublishedOnToScaVulnerabilityIssuesTest.java +++ b/server/sonar-db-migration/src/it/java/org/sonar/server/platform/db/migration/version/v202505/AddPublishedOnToScaVulnerabilityIssuesTest.java @@ -40,7 +40,7 @@ class AddPublishedOnToScaVulnerabilityIssuesTest { void execute_shouldAddColumn() throws SQLException { db.assertColumnDoesNotExist(TABLE_NAME, COLUMN_NAME); underTest.execute(); - db.assertColumnDefinition(TABLE_NAME, COLUMN_NAME, BIGINT, 64, true); + db.assertColumnDefinition(TABLE_NAME, COLUMN_NAME, BIGINT, null, true); } @Test @@ -48,6 +48,6 @@ class AddPublishedOnToScaVulnerabilityIssuesTest { db.assertColumnDoesNotExist(TABLE_NAME, COLUMN_NAME); underTest.execute(); underTest.execute(); - db.assertColumnDefinition(TABLE_NAME, COLUMN_NAME, BIGINT, 64, true); + db.assertColumnDefinition(TABLE_NAME, COLUMN_NAME, BIGINT, null, true); } } diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v202505/package-info.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v202505/package-info.java new file mode 100644 index 00000000000..d54fbd7b504 --- /dev/null +++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v202505/package-info.java @@ -0,0 +1,24 @@ +/* + * SonarQube + * Copyright (C) 2009-2025 SonarSource SA + * mailto:info AT sonarsource DOT com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +@ParametersAreNonnullByDefault +package org.sonar.server.platform.db.migration.version.v202505; + +import javax.annotation.ParametersAreNonnullByDefault; + diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentAction.java index 0afe402240e..2fc281a3807 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentAction.java @@ -98,6 +98,9 @@ public class ComponentAction implements MeasuresWsAction { .setResponseExample(getClass().getResource("component-example.json")) .setSince("5.4") .setChangelog( + new Change("2025.4", format( + "The following SCA metrics are available on licensed enterprise/datacenter editions with SCA enabled: %s", + MeasuresWsModule.getNewScaMetricsInSonarQube202504())), new Change("2025.2", "The 'Execute Analysis' permission also allows to access the endpoint"), new Change("10.8", format("The following metrics are not deprecated anymore: %s", MeasuresWsModule.getUndeprecatedMetricsinSonarQube108())), diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentTreeAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentTreeAction.java index 6e7e8fa2039..d7ecd83abbd 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentTreeAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/ComponentTreeAction.java @@ -183,6 +183,9 @@ public class ComponentTreeAction implements MeasuresWsAction { .setHandler(this) .addPagingParams(100, MAX_SIZE) .setChangelog( + new Change("2025.4", format( + "The following SCA metrics are available on licensed enterprise/datacenter editions with SCA enabled: %s", + MeasuresWsModule.getNewScaMetricsInSonarQube202504())), new Change("10.8", format(NUMBER_OF_KEYS_LIMITED, 75)), new Change("10.8", "Portfolio project metrics now also include: 'contains_ai_code', 'reliability_rating_without_aica', " + "'reliability_rating_with_aica', 'software_quality_security_rating_without_aica', 'software_quality_security_rating_with_aica', " + diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/MeasuresWsModule.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/MeasuresWsModule.java index b74cebf2f4c..fad22e62b68 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/MeasuresWsModule.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/MeasuresWsModule.java @@ -22,6 +22,7 @@ package org.sonar.server.measure.ws; import java.util.stream.Collectors; import java.util.stream.Stream; import org.sonar.api.measures.CoreMetrics; +import org.sonar.core.metric.ScaMetrics; import org.sonar.core.metric.SoftwareQualitiesMetrics; import org.sonar.core.platform.Module; import org.sonar.server.telemetry.TelemetryPortfolioActivityGraphTypeProvider; @@ -119,4 +120,24 @@ public class MeasuresWsModule extends Module { public static String getUndeprecatedMetricsinSonarQube108() { return getDeprecatedMetricsInSonarQube104() + ", " + getDeprecatedMetricsInSonarQube105(); } + + public static String getNewScaMetricsInSonarQube202504() { + return Stream.of( + ScaMetrics.SCA_RATING_LICENSING_KEY, + ScaMetrics.SCA_RATING_VULNERABILITY_KEY, + ScaMetrics.SCA_RATING_ANY_ISSUE_KEY, + ScaMetrics.SCA_SEVERITY_LICENSING_KEY, + ScaMetrics.SCA_SEVERITY_VULNERABILITY_KEY, + ScaMetrics.SCA_SEVERITY_ANY_ISSUE_KEY, + ScaMetrics.SCA_COUNT_ANY_ISSUE_KEY, + ScaMetrics.NEW_SCA_RATING_LICENSING_KEY, + ScaMetrics.NEW_SCA_RATING_VULNERABILITY_KEY, + ScaMetrics.NEW_SCA_RATING_ANY_ISSUE_KEY, + ScaMetrics.NEW_SCA_SEVERITY_LICENSING_KEY, + ScaMetrics.NEW_SCA_SEVERITY_VULNERABILITY_KEY, + ScaMetrics.NEW_SCA_SEVERITY_ANY_ISSUE_KEY, + ScaMetrics.NEW_SCA_COUNT_ANY_ISSUE_KEY) + .map(e -> "'" + e + "'") + .collect(Collectors.joining(", ")); + } } diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/SearchAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/SearchAction.java index 067b0f5ca39..92c69628fa4 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/SearchAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/SearchAction.java @@ -87,6 +87,9 @@ public class SearchAction implements MeasuresWsAction { .setResponseExample(getClass().getResource("search-example.json")) .setHandler(this) .setChangelog( + new Change("2025.4", format( + "The following SCA metrics are available on licensed enterprise/datacenter editions with SCA enabled: %s", + MeasuresWsModule.getNewScaMetricsInSonarQube202504())), new Change("10.8", format("The following metrics are not deprecated anymore: %s", MeasuresWsModule.getUndeprecatedMetricsinSonarQube108())), new Change("10.8", String.format("Added new accepted values for the 'metricKeys' param: %s", MeasuresWsModule.getNewMetricsInSonarQube108())), diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/SearchHistoryAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/SearchHistoryAction.java index bec33db5fd8..add8892067d 100644 --- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/SearchHistoryAction.java +++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/measure/ws/SearchHistoryAction.java @@ -109,6 +109,9 @@ public class SearchHistoryAction implements MeasuresWsAction { .setResponseExample(getClass().getResource("search_history-example.json")) .setSince("6.3") .setChangelog( + new Change("2025.4", format( + "The following SCA metrics are available on licensed enterprise/datacenter editions with SCA enabled: %s", + MeasuresWsModule.getNewScaMetricsInSonarQube202504())), new Change("10.8", String.format("The following metrics are not deprecated anymore: %s", MeasuresWsModule.getUndeprecatedMetricsinSonarQube108())), new Change("10.8", String.format("Added new accepted values for the 'metricKeys' param: %s", |