akalash commented on a change in pull request #3: IGNITE-9333 Add statistics 
page
URL: https://github.com/apache/ignite-teamcity-bot/pull/3#discussion_r214727827
 
 

 ##########
 File path: 
ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/build/GetBuildTestFailures.java
 ##########
 @@ -149,4 +155,69 @@ public TestFailuresSummary getBuildTestFails(
 
         return res;
     }
+
+    @GET
+    @Path("history")
+    public BuildStatisticsSummary[] getBuildsHistory(
+        @Nullable @QueryParam("server") String server,
+        @Nullable @QueryParam("buildType") String buildType,
+        @Nullable @QueryParam("branch") String branch,
+        @Nullable @QueryParam("count") Integer count)
+        throws ServiceUnauthorizedException {
+
+        String srvId = isNullOrEmpty(server) ? "apache" : server;
+        String buildTypeId = isNullOrEmpty(buildType) ? 
"IgniteTests24Java8_RunAll" : buildType;
+        String branchName = isNullOrEmpty(branch) ? "refs/heads/master" : 
branch;
+        int cnt = count == null ? 50 : count;
+
+        final BackgroundUpdater updater = 
CtxListener.getBackgroundUpdater(context);
+
+        final ITcHelper tcHelper = CtxListener.getTcHelper(context);
+
+        final ICredentialsProv prov = ICredentialsProv.get(req);
+
+        try (IAnalyticsEnabledTeamcity teamcity = tcHelper.server(srvId, 
prov)) {
+
+            int[] finishedBuilds = 
teamcity.getBuildNumbersFromHistory(buildTypeId, branchName, cnt);
+
+            BuildStatisticsSummary[] buildsStatistics = new 
BuildStatisticsSummary[finishedBuilds.length];
+
+            for (int i = 0; i < finishedBuilds.length; i++) {
+                int buildId = finishedBuilds[i];
+
+                FullQueryParams param = new FullQueryParams();
+                param.setBuildId(buildId);
+                param.setBranch(branchName);
+                param.setServerId(srvId);
+
+                buildsStatistics[finishedBuilds.length - 1 - i] = updater.get(
+                    BUILDS_STATISTICS_SUMMARY_CACHE_NAME, prov, param,
+                    (k) -> getBuildStatisticsSummaryNoCache(srvId, buildId), 
false);
+            }
+
+            return buildsStatistics;
+        }
+    }
+
+
+    @GET
+    @Path("historyNoCache")
 
 Review comment:
   Looks like this endpoint is not required. It can be just simple method.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to