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