diff --git a/server/sonar-server/src/main/java/org/sonar/server/projectanalysis/ws/SearchResponseBuilder.java b/server/sonar-server/src/main/java/org/sonar/server/projectanalysis/ws/SearchResponseBuilder.java index 38ec5b06c3f..9801a104d25 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/projectanalysis/ws/SearchResponseBuilder.java +++ b/server/sonar-server/src/main/java/org/sonar/server/projectanalysis/ws/SearchResponseBuilder.java @@ -85,6 +85,7 @@ private Analysis.Builder dbToWsAnalysis(SnapshotDto dbAnalysis) { .setManualNewCodePeriodBaseline(searchData.getManualBaseline().filter(dbAnalysis.getUuid()::equals).isPresent()); ofNullable(dbAnalysis.getCodePeriodVersion()).ifPresent(builder::setCodePeriodVersion); ofNullable(dbAnalysis.getProjectVersion()).ifPresent(builder::setProjectVersion); + ofNullable(dbAnalysis.getBuildString()).ifPresent(builder::setBuildString); return builder; } diff --git a/server/sonar-server/src/main/resources/org/sonar/server/projectanalysis/ws/search-example.json b/server/sonar-server/src/main/resources/org/sonar/server/projectanalysis/ws/search-example.json index 2bfe51ec26b..a3197eb5d29 100644 --- a/server/sonar-server/src/main/resources/org/sonar/server/projectanalysis/ws/search-example.json +++ b/server/sonar-server/src/main/resources/org/sonar/server/projectanalysis/ws/search-example.json @@ -8,8 +8,8 @@ { "key": "A2", "date": "2016-12-12T17:12:45+0100", - "codePeriodVersion": "1.2.1", - "projectVersion": "1.2.1.423", + "projectVersion": "1.2.1", + "buildString": "1.2.1.423", "manualNewCodePeriodBaseline": false, "events": [ { @@ -27,8 +27,8 @@ { "key": "A1", "date": "2016-12-11T17:12:45+0100", - "codePeriodVersion": "1.2", - "projectVersion": "1.2.0.322", + "projectVersion": "1.2", + "buildString": "1.2.0.322", "manualNewCodePeriodBaseline": true, "events": [ { @@ -47,8 +47,8 @@ { "key": "P1", "date": "2015-11-11T10:00:00+0100", - "codePeriodVersion": "1.2", - "projectVersion": "1.2.0.321", + "projectVersion": "1.2", + "buildString": "1.2.0.321", "manualNewCodePeriodBaseline": false, "events": [ { diff --git a/server/sonar-server/src/test/java/org/sonar/server/projectanalysis/ws/SearchActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/projectanalysis/ws/SearchActionTest.java index d2888642aad..6e90ff46016 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/projectanalysis/ws/SearchActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/projectanalysis/ws/SearchActionTest.java @@ -125,15 +125,15 @@ public void json_example() { userSession.addProjectPermission(UserRole.USER, project); SnapshotDto a1 = db.components().insertSnapshot(newAnalysis(project) .setUuid("A1").setCreatedAt(parseDateTime("2016-12-11T17:12:45+0100").getTime()) - .setCodePeriodVersion("1.2").setProjectVersion("1.2.0.322") + .setProjectVersion("1.2").setBuildString("1.2.0.322") ); SnapshotDto a2 = db.components().insertSnapshot(newAnalysis(project) .setUuid("A2").setCreatedAt(parseDateTime("2016-12-12T17:12:45+0100").getTime()) - .setCodePeriodVersion("1.2.1").setProjectVersion("1.2.1.423") + .setProjectVersion("1.2.1").setBuildString("1.2.1.423") ); SnapshotDto a3 = db.components().insertSnapshot(newAnalysis(project) .setUuid("P1").setCreatedAt(parseDateTime("2015-11-11T10:00:00+0100").getTime()) - .setCodePeriodVersion("1.2").setProjectVersion("1.2.0.321")); + .setProjectVersion("1.2").setBuildString("1.2.0.321")); db.getDbClient().branchDao().insert(db.getSession(), newBranchDto(project, LONG) .setManualBaseline(a1.getUuid())); db.commit(); @@ -621,20 +621,20 @@ public void empty_response() { } @Test - public void populates_projectVersion_and_codePeriodVersion() { + public void populates_projectVersion_and_buildString() { ComponentDto project = db.components().insertPrivateProject(); userSession.addProjectPermission(UserRole.USER, project); SnapshotDto[] analyses = new SnapshotDto[] { - db.components().insertSnapshot(newAnalysis(project).setCodePeriodVersion(null).setProjectVersion(null)), - db.components().insertSnapshot(newAnalysis(project).setCodePeriodVersion("a").setProjectVersion(null)), - db.components().insertSnapshot(newAnalysis(project).setCodePeriodVersion(null).setProjectVersion("b")), - db.components().insertSnapshot(newAnalysis(project).setCodePeriodVersion("c").setProjectVersion("d")) + db.components().insertSnapshot(newAnalysis(project).setProjectVersion(null).setBuildString(null)), + db.components().insertSnapshot(newAnalysis(project).setProjectVersion("a").setBuildString(null)), + db.components().insertSnapshot(newAnalysis(project).setProjectVersion(null).setBuildString("b")), + db.components().insertSnapshot(newAnalysis(project).setProjectVersion("c").setBuildString("d")) }; SearchResponse result = call(project.getDbKey()); assertThat(result.getAnalysesList()) - .extracting(Analysis::getKey, Analysis::getCodePeriodVersion, Analysis::getProjectVersion) + .extracting(Analysis::getKey, Analysis::getProjectVersion, Analysis::getBuildString) .containsOnly( tuple(analyses[0].getUuid(), "", ""), tuple(analyses[1].getUuid(), "a", ""), diff --git a/sonar-ws/src/main/protobuf/ws-projectanalyses.proto b/sonar-ws/src/main/protobuf/ws-projectanalyses.proto index d1a63b70b79..891c5e52565 100644 --- a/sonar-ws/src/main/protobuf/ws-projectanalyses.proto +++ b/sonar-ws/src/main/protobuf/ws-projectanalyses.proto @@ -59,6 +59,7 @@ message Analysis { optional string codePeriodVersion = 4; optional string projectVersion = 5; optional bool manualNewCodePeriodBaseline = 6; + optional string buildString = 7; } message QualityGate {