aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-ws/src
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-ws/src')
-rw-r--r--sonar-ws/src/main/java/org/sonarqube/ws/client/system/SystemService.java4
-rw-r--r--sonar-ws/src/main/protobuf/ws-system.proto16
-rw-r--r--sonar-ws/src/test/java/org/sonarqube/ws/client/system/SystemServiceTest.java10
3 files changed, 30 insertions, 0 deletions
diff --git a/sonar-ws/src/main/java/org/sonarqube/ws/client/system/SystemService.java b/sonar-ws/src/main/java/org/sonarqube/ws/client/system/SystemService.java
index ef31bfaed45..cb8c55aec61 100644
--- a/sonar-ws/src/main/java/org/sonarqube/ws/client/system/SystemService.java
+++ b/sonar-ws/src/main/java/org/sonarqube/ws/client/system/SystemService.java
@@ -37,4 +37,8 @@ public class SystemService extends BaseService {
public void restart() {
call(new PostRequest(path("restart")));
}
+
+ public WsSystem.StatusResponse status() {
+ return call(new GetRequest(path("status")), WsSystem.StatusResponse.parser());
+ }
}
diff --git a/sonar-ws/src/main/protobuf/ws-system.proto b/sonar-ws/src/main/protobuf/ws-system.proto
index 4f0fd9af5fc..39ad9210eb7 100644
--- a/sonar-ws/src/main/protobuf/ws-system.proto
+++ b/sonar-ws/src/main/protobuf/ws-system.proto
@@ -30,6 +30,13 @@ message HealthResponse {
repeated Cause causes = 2;
}
+// GET api/system/status
+message StatusResponse {
+ optional string id = 1;
+ optional string version = 2;
+ optional Status status = 3;
+}
+
message Cause {
optional string message = 1;
}
@@ -39,3 +46,12 @@ enum Health {
YELLOW = 1;
RED = 2;
}
+
+enum Status {
+ STARTING = 0;
+ UP = 1;
+ DOWN = 2;
+ RESTARTING = 3;
+ DB_MIGRATION_NEEDED = 4;
+ DB_MIGRATION_RUNNING = 5;
+}
diff --git a/sonar-ws/src/test/java/org/sonarqube/ws/client/system/SystemServiceTest.java b/sonar-ws/src/test/java/org/sonarqube/ws/client/system/SystemServiceTest.java
index d9fe6011c4f..a473bda635e 100644
--- a/sonar-ws/src/test/java/org/sonarqube/ws/client/system/SystemServiceTest.java
+++ b/sonar-ws/src/test/java/org/sonarqube/ws/client/system/SystemServiceTest.java
@@ -46,6 +46,16 @@ public class SystemServiceTest {
}
@Test
+ public void test_status() throws Exception {
+ underTest.status();
+
+ GetRequest getRequest = serviceTester.getGetRequest();
+ serviceTester.assertThat(getRequest)
+ .hasPath("status")
+ .andNoOtherParam();
+ }
+
+ @Test
public void test_restart() throws Exception {
underTest.restart();