aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorlukasz-jarocki-sonarsource <lukasz.jarocki@sonarsource.com>2024-06-24 10:01:47 +0200
committersonartech <sonartech@sonarsource.com>2024-06-26 20:03:32 +0000
commit6df23c460af61c95cb7681dc599d2dfb376fa526 (patch)
treec3c6143542f092899361ef7449c7d205e9d7c178 /server
parent36a554a42c27bc782f7bbbd5357dfca05c93f952 (diff)
downloadsonarqube-6df23c460af61c95cb7681dc599d2dfb376fa526.tar.gz
sonarqube-6df23c460af61c95cb7681dc599d2dfb376fa526.zip
SONAR-19530 acted upon warnings about missing response examples in webapi
Diffstat (limited to 'server')
-rw-r--r--server/sonar-alm-client/src/main/java/org/sonar/alm/client/azure/AzureDevOpsHttpClient.java4
-rw-r--r--server/sonar-alm-client/src/main/java/org/sonar/alm/client/bitbucket/bitbucketcloud/BitbucketCloudRestClient.java2
-rw-r--r--server/sonar-alm-client/src/main/java/org/sonar/alm/client/bitbucketserver/BitbucketServerRestClient.java2
-rw-r--r--server/sonar-alm-client/src/main/java/org/sonar/alm/client/github/GithubApplicationClientImpl.java2
-rw-r--r--server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/SamlValidationRedirectionFilter.java6
-rw-r--r--server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java2
-rw-r--r--server/sonar-webserver-monitoring/src/test/java/org/sonar/server/monitoring/ElasticSearchMetricTaskTest.java2
-rw-r--r--server/sonar-webserver-pushapi/src/main/java/org/sonar/server/pushapi/sonarlint/SonarLintPushAction.java1
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/dismissmessage/ws/CheckActionIT.java1
-rw-r--r--server/sonar-webserver-webapi/src/it/java/org/sonar/server/platform/ws/SafeModeMonitoringMetricActionIT.java5
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/CheckPatAction.java1
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/dismissmessage/ws/CheckAction.java1
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/monitoring/MetricsAction.java15
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/LivenessActionSupport.java1
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SafeModeMonitoringMetricAction.java10
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/plugins/ws/DownloadAction.java2
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/saml/ws/ValidationInitAction.java2
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/scannercache/ws/GetAction.java1
-rw-r--r--server/sonar-webserver-webapi/src/main/resources/org/sonar/server/dismissmessage/ws/check-example.json3
-rw-r--r--server/sonar-webserver-webapi/src/main/resources/org/sonar/server/platform/ws/monitoring-metrics.txt44
20 files changed, 80 insertions, 27 deletions
diff --git a/server/sonar-alm-client/src/main/java/org/sonar/alm/client/azure/AzureDevOpsHttpClient.java b/server/sonar-alm-client/src/main/java/org/sonar/alm/client/azure/AzureDevOpsHttpClient.java
index ab6485bb903..80c9bd0ae91 100644
--- a/server/sonar-alm-client/src/main/java/org/sonar/alm/client/azure/AzureDevOpsHttpClient.java
+++ b/server/sonar-alm-client/src/main/java/org/sonar/alm/client/azure/AzureDevOpsHttpClient.java
@@ -43,8 +43,8 @@ import org.sonar.api.server.ServerSide;
import org.sonarqube.ws.client.OkHttpClientBuilder;
import static java.util.stream.Collectors.joining;
-import static org.sonar.api.internal.apachecommons.lang.StringUtils.isBlank;
-import static org.sonar.api.internal.apachecommons.lang.StringUtils.substringBeforeLast;
+import static org.apache.commons.lang3.StringUtils.isBlank;
+import static org.apache.commons.lang3.StringUtils.substringBeforeLast;
@ServerSide
public class AzureDevOpsHttpClient {
diff --git a/server/sonar-alm-client/src/main/java/org/sonar/alm/client/bitbucket/bitbucketcloud/BitbucketCloudRestClient.java b/server/sonar-alm-client/src/main/java/org/sonar/alm/client/bitbucket/bitbucketcloud/BitbucketCloudRestClient.java
index 79a99dccb1b..b11983d0a12 100644
--- a/server/sonar-alm-client/src/main/java/org/sonar/alm/client/bitbucket/bitbucketcloud/BitbucketCloudRestClient.java
+++ b/server/sonar-alm-client/src/main/java/org/sonar/alm/client/bitbucket/bitbucketcloud/BitbucketCloudRestClient.java
@@ -42,7 +42,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonar.server.exceptions.NotFoundException;
-import static org.sonar.api.internal.apachecommons.lang.StringUtils.removeEnd;
+import static org.apache.commons.lang3.StringUtils.removeEnd;
@ServerSide
public class BitbucketCloudRestClient {
diff --git a/server/sonar-alm-client/src/main/java/org/sonar/alm/client/bitbucketserver/BitbucketServerRestClient.java b/server/sonar-alm-client/src/main/java/org/sonar/alm/client/bitbucketserver/BitbucketServerRestClient.java
index 4dcad40fb56..e0ab68da9ce 100644
--- a/server/sonar-alm-client/src/main/java/org/sonar/alm/client/bitbucketserver/BitbucketServerRestClient.java
+++ b/server/sonar-alm-client/src/main/java/org/sonar/alm/client/bitbucketserver/BitbucketServerRestClient.java
@@ -47,7 +47,7 @@ import static java.lang.String.format;
import static java.net.HttpURLConnection.HTTP_NOT_FOUND;
import static java.net.HttpURLConnection.HTTP_UNAUTHORIZED;
import static java.util.Locale.ENGLISH;
-import static org.sonar.api.internal.apachecommons.lang.StringUtils.removeEnd;
+import static org.apache.commons.lang3.StringUtils.removeEnd;
@ServerSide
public class BitbucketServerRestClient {
diff --git a/server/sonar-alm-client/src/main/java/org/sonar/alm/client/github/GithubApplicationClientImpl.java b/server/sonar-alm-client/src/main/java/org/sonar/alm/client/github/GithubApplicationClientImpl.java
index 63220e42961..9cc631bdda3 100644
--- a/server/sonar-alm-client/src/main/java/org/sonar/alm/client/github/GithubApplicationClientImpl.java
+++ b/server/sonar-alm-client/src/main/java/org/sonar/alm/client/github/GithubApplicationClientImpl.java
@@ -42,7 +42,7 @@ import org.sonar.alm.client.ApplicationHttpClient.GetResponse;
import org.sonar.alm.client.github.security.AppToken;
import org.sonar.alm.client.github.security.GithubAppSecurity;
import org.sonar.alm.client.gitlab.GsonApp;
-import org.sonar.api.internal.apachecommons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.sonar.auth.github.AppInstallationToken;
import org.sonar.auth.github.GitHubSettings;
import org.sonar.auth.github.GithubAppConfiguration;
diff --git a/server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/SamlValidationRedirectionFilter.java b/server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/SamlValidationRedirectionFilter.java
index d8ef581bd13..f602608a42a 100644
--- a/server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/SamlValidationRedirectionFilter.java
+++ b/server/sonar-webserver-auth/src/main/java/org/sonar/server/authentication/SamlValidationRedirectionFilter.java
@@ -26,7 +26,7 @@ import java.net.URL;
import java.nio.charset.StandardCharsets;
import javax.annotation.Nullable;
import org.apache.commons.lang3.StringUtils;
-import org.sonar.api.internal.apachecommons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import org.sonar.api.platform.Server;
import org.sonar.api.server.http.HttpRequest;
import org.sonar.api.server.http.HttpResponse;
@@ -78,7 +78,7 @@ public class SamlValidationRedirectionFilter extends HttpFilter {
URI redirectionEndpointUrl = URI.create(server.getContextPath() + "/")
.resolve(SAML_VALIDATION_CONTROLLER_CONTEXT + "/")
.resolve(SAML_VALIDATION_KEY);
- String samlResponse = StringEscapeUtils.escapeHtml(request.getParameter(SAML_RESPONSE_PARAMETER));
+ String samlResponse = StringEscapeUtils.escapeHtml3(request.getParameter(SAML_RESPONSE_PARAMETER));
String csrfToken = getCsrfTokenFromRelayState(relayState);
String nonce = SamlValidationCspHeaders.addCspHeadersWithNonceToResponse(response);
@@ -103,7 +103,7 @@ public class SamlValidationRedirectionFilter extends HttpFilter {
private static String getCsrfTokenFromRelayState(@Nullable String relayState) {
if (relayState != null && relayState.contains("/")) {
- return StringEscapeUtils.escapeHtml(relayState.split("/")[1]);
+ return StringEscapeUtils.escapeHtml3(relayState.split("/")[1]);
}
return "";
}
diff --git a/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java b/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java
index 40593143fee..728300033c9 100644
--- a/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java
+++ b/server/sonar-webserver-core/src/main/java/org/sonar/server/telemetry/TelemetryDataLoaderImpl.java
@@ -72,7 +72,7 @@ import static java.util.Arrays.asList;
import static java.util.Optional.ofNullable;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.toMap;
-import static org.sonar.api.internal.apachecommons.lang.StringUtils.startsWithIgnoreCase;
+import static org.apache.commons.lang3.StringUtils.startsWithIgnoreCase;
import static org.sonar.api.measures.CoreMetrics.BUGS_KEY;
import static org.sonar.api.measures.CoreMetrics.DEVELOPMENT_COST_KEY;
import static org.sonar.api.measures.CoreMetrics.NCLOC_KEY;
diff --git a/server/sonar-webserver-monitoring/src/test/java/org/sonar/server/monitoring/ElasticSearchMetricTaskTest.java b/server/sonar-webserver-monitoring/src/test/java/org/sonar/server/monitoring/ElasticSearchMetricTaskTest.java
index 60fc17a201e..d4273b6ab51 100644
--- a/server/sonar-webserver-monitoring/src/test/java/org/sonar/server/monitoring/ElasticSearchMetricTaskTest.java
+++ b/server/sonar-webserver-monitoring/src/test/java/org/sonar/server/monitoring/ElasticSearchMetricTaskTest.java
@@ -36,7 +36,7 @@ import org.slf4j.event.Level;
import org.sonar.api.config.Configuration;
import org.sonar.api.config.internal.MapSettings;
import org.sonar.api.internal.apachecommons.io.IOUtils;
-import org.sonar.api.internal.apachecommons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.sonar.api.testfixtures.log.LogTester;
import org.sonar.server.es.EsClient;
import org.sonar.server.es.response.NodeStatsResponse;
diff --git a/server/sonar-webserver-pushapi/src/main/java/org/sonar/server/pushapi/sonarlint/SonarLintPushAction.java b/server/sonar-webserver-pushapi/src/main/java/org/sonar/server/pushapi/sonarlint/SonarLintPushAction.java
index 1b7c64e1319..8b9bb4545a7 100644
--- a/server/sonar-webserver-pushapi/src/main/java/org/sonar/server/pushapi/sonarlint/SonarLintPushAction.java
+++ b/server/sonar-webserver-pushapi/src/main/java/org/sonar/server/pushapi/sonarlint/SonarLintPushAction.java
@@ -62,6 +62,7 @@ public class SonarLintPushAction extends ServerPushAction {
.setInternal(true)
.setDescription("Endpoint for listening to server side events. Currently it notifies listener about change to activation of a rule")
.setSince("9.4")
+ .setContentType(Response.ContentType.NO_CONTENT)
.setHandler(this);
action
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/dismissmessage/ws/CheckActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/dismissmessage/ws/CheckActionIT.java
index d6f343e3251..d17e0382ec8 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/dismissmessage/ws/CheckActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/dismissmessage/ws/CheckActionIT.java
@@ -59,6 +59,7 @@ public class CheckActionIT {
assertThat(def.params()).extracting(WebService.Param::key, WebService.Param::isRequired).containsOnly(
tuple("projectKey", false),
tuple("messageType", true));
+ assertThat(def.responseExampleAsString()).isNotEmpty();
}
@Test
diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/platform/ws/SafeModeMonitoringMetricActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/platform/ws/SafeModeMonitoringMetricActionIT.java
index 5c4545ea558..1648f8c64e2 100644
--- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/platform/ws/SafeModeMonitoringMetricActionIT.java
+++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/platform/ws/SafeModeMonitoringMetricActionIT.java
@@ -52,6 +52,11 @@ public class SafeModeMonitoringMetricActionIT {
private final WsActionTester ws = new WsActionTester(safeModeMonitoringMetricAction);
@Test
+ public void define_containsResponseExample() {
+ assertThat(ws.getDef().responseExampleAsString()).isNotEmpty();
+ }
+
+ @Test
public void no_authentication_throw_insufficient_privileges_error() {
TestRequest request = ws.newRequest();
Assertions.assertThatThrownBy(request::execute)
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/CheckPatAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/CheckPatAction.java
index 08c587a3b0c..6a792535f19 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/CheckPatAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/CheckPatAction.java
@@ -74,6 +74,7 @@ public class CheckPatAction implements AlmIntegrationsWsAction {
.setInternal(true)
.setSince("8.2")
.setHandler(this)
+ .setContentType(Response.ContentType.NO_CONTENT)
.setChangelog(new Change("9.0", "Bitbucket Cloud support was added"));
action.createParam(PARAM_ALM_SETTING)
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/dismissmessage/ws/CheckAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/dismissmessage/ws/CheckAction.java
index 8d527b2f01f..dabbbaf1bf2 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/dismissmessage/ws/CheckAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/dismissmessage/ws/CheckAction.java
@@ -56,6 +56,7 @@ public class CheckAction implements DismissMessageWsAction {
WebService.NewAction action = context.createAction("check")
.setDescription("Check if a message has been dismissed.")
.setSince("10.2")
+ .setResponseExample(getClass().getResource("check-example.json"))
.setInternal(true)
.setHandler(this);
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/monitoring/MetricsAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/monitoring/MetricsAction.java
index 6f5e731b00f..26e28f06430 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/monitoring/MetricsAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/monitoring/MetricsAction.java
@@ -19,7 +19,6 @@
*/
package org.sonar.server.monitoring;
-import org.sonar.api.server.ws.WebService;
import org.sonar.server.platform.ws.SafeModeMonitoringMetricAction;
import org.sonar.server.user.BearerPasscode;
import org.sonar.server.user.SystemPasscode;
@@ -35,20 +34,6 @@ public class MetricsAction extends SafeModeMonitoringMetricAction {
}
@Override
- public void define(WebService.NewController context) {
- context.createAction("metrics")
- .setSince("9.3")
- .setDescription("""
- Return monitoring metrics in Prometheus format.\s
- Support content type 'text/plain' (default) and 'application/openmetrics-text'.
- this endpoint can be access using a Bearer token, that needs to be defined in sonar.properties with the 'sonar.web.systemPasscode' key.""")
- .setResponseExample(getClass().getResource("monitoring-metrics.txt"))
- .setHandler(this);
-
- isWebUpGauge.set(1D);
- }
-
- @Override
public boolean isSystemAdmin() {
return userSession.isSystemAdministrator();
}
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/LivenessActionSupport.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/LivenessActionSupport.java
index f0ac87b12b2..e92c75b914f 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/LivenessActionSupport.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/LivenessActionSupport.java
@@ -46,6 +46,7 @@ public class LivenessActionSupport {
"</p>")
.setSince("9.1")
.setInternal(true)
+ .setContentType(Response.ContentType.NO_CONTENT)
.setHandler(handler);
}
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SafeModeMonitoringMetricAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SafeModeMonitoringMetricAction.java
index 8a33cb0ebbb..e9948472929 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SafeModeMonitoringMetricAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/platform/ws/SafeModeMonitoringMetricAction.java
@@ -19,6 +19,7 @@
*/
package org.sonar.server.platform.ws;
+import com.google.common.io.Resources;
import com.google.common.net.HttpHeaders;
import io.prometheus.client.CollectorRegistry;
import io.prometheus.client.Gauge;
@@ -50,7 +51,14 @@ public class SafeModeMonitoringMetricAction implements MonitoringWsAction {
@Override
public void define(WebService.NewController context) {
- context.createAction("metrics").setHandler(this);
+ context.createAction("metrics")
+ .setSince("9.3")
+ .setDescription("""
+ Return monitoring metrics in Prometheus format.\s
+ Support content type 'text/plain' (default) and 'application/openmetrics-text'.
+ this endpoint can be access using a Bearer token, that needs to be defined in sonar.properties with the 'sonar.web.systemPasscode' key.""")
+ .setResponseExample(Resources.getResource(this.getClass(), "monitoring-metrics.txt"))
+ .setHandler(this);
isWebUpGauge.set(1D);
}
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/plugins/ws/DownloadAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/plugins/ws/DownloadAction.java
index f1962812e4d..dd7605516b5 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/plugins/ws/DownloadAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/plugins/ws/DownloadAction.java
@@ -47,7 +47,7 @@ public class DownloadAction implements PluginsWsAction {
.setSince("7.2")
.setDescription("Download plugin JAR, for usage by scanner engine")
.setInternal(true)
- .setResponseExample(getClass().getResource("example-download.json"))
+ .setContentType(Response.ContentType.BINARY)
.setHandler(this);
action.createParam(PLUGIN_PARAM)
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/saml/ws/ValidationInitAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/saml/ws/ValidationInitAction.java
index ded626c07a5..d7257c6221a 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/saml/ws/ValidationInitAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/saml/ws/ValidationInitAction.java
@@ -22,6 +22,7 @@ package org.sonar.server.saml.ws;
import java.io.IOException;
import org.sonar.api.server.http.HttpRequest;
import org.sonar.api.server.http.HttpResponse;
+import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.api.web.FilterChain;
import org.sonar.api.web.HttpFilter;
@@ -67,6 +68,7 @@ public class ValidationInitAction extends HttpFilter implements SamlAction {
.setPost(false)
.setHandler(ServletFilterHandler.INSTANCE)
.setDescription("Initiate a SAML request to the identity Provider for configuration validation purpose.")
+ .setContentType(Response.ContentType.NO_CONTENT)
.setSince("9.7");
}
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/scannercache/ws/GetAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/scannercache/ws/GetAction.java
index 73eee09e098..dcabfcb71c8 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/scannercache/ws/GetAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/scannercache/ws/GetAction.java
@@ -67,6 +67,7 @@ public class GetAction implements AnalysisCacheWsAction {
+ "Data is returned gzipped if the corresponding 'Accept-Encoding' header is set in the request.")
.setChangelog(new Change("9.9", "The web service is no longer internal"))
.setSince("9.4")
+ .setContentType(Response.ContentType.BINARY)
.setHandler(this);
action.createParam(PROJECT)
diff --git a/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/dismissmessage/ws/check-example.json b/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/dismissmessage/ws/check-example.json
new file mode 100644
index 00000000000..e283786b1e1
--- /dev/null
+++ b/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/dismissmessage/ws/check-example.json
@@ -0,0 +1,3 @@
+{
+ "dismissed":true
+} \ No newline at end of file
diff --git a/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/platform/ws/monitoring-metrics.txt b/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/platform/ws/monitoring-metrics.txt
new file mode 100644
index 00000000000..48b4b244045
--- /dev/null
+++ b/server/sonar-webserver-webapi/src/main/resources/org/sonar/server/platform/ws/monitoring-metrics.txt
@@ -0,0 +1,44 @@
+# HELP sonarqube_compute_engine_tasks_running_duration_seconds Compute engine task running time in seconds
+# TYPE sonarqube_compute_engine_tasks_running_duration_seconds summary
+# HELP sonarqube_health_web_status Tells whether Web process is up or down. 1 for up, 0 for down
+# TYPE sonarqube_health_web_status gauge
+sonarqube_health_web_status 1.0
+# HELP sonarqube_license_days_before_expiration_total Days until the SonarQube license will expire.
+# TYPE sonarqube_license_days_before_expiration_total gauge
+sonarqube_license_days_before_expiration_total 28.0
+# HELP sonarqube_license_number_of_lines_remaining_total Number of lines remaining until the limit for the current license is hit.
+# TYPE sonarqube_license_number_of_lines_remaining_total gauge
+sonarqube_license_number_of_lines_remaining_total 5000000.0
+# HELP sonarqube_health_compute_engine_status Tells whether Compute Engine is up (healthy, ready to take tasks) or down. 1 for up, 0 for down
+# TYPE sonarqube_health_compute_engine_status gauge
+sonarqube_health_compute_engine_status 1.0
+# HELP sonarqube_license_number_of_lines_analyzed_total Number of lines analyzed.
+# TYPE sonarqube_license_number_of_lines_analyzed_total gauge
+sonarqube_license_number_of_lines_analyzed_total 0.0
+# HELP sonarqube_web_uptime_minutes Number of minutes for how long the SonarQube instance is running
+# TYPE sonarqube_web_uptime_minutes gauge
+sonarqube_web_uptime_minutes 13.0
+# HELP sonarqube_health_integration_azuredevops_status Tells whether SonarQube instance has configured Azure integration and its status is green. 1 for green, 0 otherwise .
+# TYPE sonarqube_health_integration_azuredevops_status gauge
+sonarqube_health_integration_azuredevops_status 0.0
+# HELP sonarqube_health_elasticsearch_status Tells whether Elasticsearch is up or down. 1 for Up, 0 for down
+# TYPE sonarqube_health_elasticsearch_status gauge
+sonarqube_health_elasticsearch_status 1.0
+# HELP sonarqube_health_integration_gitlab_status Tells whether SonarQube instance has configured GitLab integration and its status is green. 1 for green, 0 otherwise .
+# TYPE sonarqube_health_integration_gitlab_status gauge
+sonarqube_health_integration_gitlab_status 0.0
+# HELP sonarqube_health_integration_github_status Tells whether SonarQube instance has configured GitHub integration and its status is green. 1 for green, 0 otherwise .
+# TYPE sonarqube_health_integration_github_status gauge
+sonarqube_health_integration_github_status 0.0
+# HELP sonarqube_health_integration_bitbucket_status Tells whether SonarQube instance has configured BitBucket integration and its status is green. 1 for green, 0 otherwise .
+# TYPE sonarqube_health_integration_bitbucket_status gauge
+sonarqube_health_integration_bitbucket_status 0.0
+# HELP sonarqube_elasticsearch_disk_space_total_bytes Total disk space on the device
+# TYPE sonarqube_elasticsearch_disk_space_total_bytes gauge
+sonarqube_elasticsearch_disk_space_total_bytes{node_name="sonarqube",} 9.9466258432E11
+# HELP sonarqube_elasticsearch_disk_space_free_bytes Space left on device
+# TYPE sonarqube_elasticsearch_disk_space_free_bytes gauge
+sonarqube_elasticsearch_disk_space_free_bytes{node_name="sonarqube",} 9.00287975424E11
+# HELP sonarqube_compute_engine_pending_tasks_total Number of tasks at given point of time that were pending in the Compute Engine queue [SHARED, same value for every SonarQube instance]
+# TYPE sonarqube_compute_engine_pending_tasks_total gauge
+sonarqube_compute_engine_pending_tasks_total 0.0 \ No newline at end of file