public DsSummaryUi getTestFailuresSummary()

in tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/pr/PrChainsProcessor.java [112:187]


    public DsSummaryUi getTestFailuresSummary(
        ICredentialsProv creds,
        String srvCodeOrAlias,
        String suiteId,
        String branchForTc,
        String act,
        Integer cnt,
        @Nullable String tcBaseBranchParm,
        @Nullable Boolean checkAllLogs,
        SyncMode mode) {
        final DsSummaryUi res = new DsSummaryUi();

        ITeamcityIgnited tcIgnited = tcIgnitedProvider.server(srvCodeOrAlias, creds);

        IGitHubConnIgnited gitHubConnIgnited = gitHubConnIgnitedProvider.server(srvCodeOrAlias);

        IJiraIgnited jiraIntegration = jiraIgnProv.server(srvCodeOrAlias);

        res.setJavaFlags(gitHubConnIgnited.config(), jiraIntegration.config());

        LatestRebuildMode rebuild;
        if (Action.HISTORY.equals(act))
            rebuild = LatestRebuildMode.ALL;
        else if (Action.LATEST.equals(act))
            rebuild = LatestRebuildMode.LATEST;
        else if (Action.CHAIN.equals(act))
            rebuild = LatestRebuildMode.NONE;
        else
            rebuild = LatestRebuildMode.LATEST;

        int buildResMergeCnt;
        if (rebuild == LatestRebuildMode.ALL)
            buildResMergeCnt = cnt == null ? 10 : cnt;
        else
            buildResMergeCnt = 1;

        ProcessLogsMode logs;
        if (buildResMergeCnt > 1)
            logs = (checkAllLogs != null && checkAllLogs) ? ProcessLogsMode.ALL : ProcessLogsMode.DISABLED;
        else
            logs = (checkAllLogs != null && checkAllLogs) ? ProcessLogsMode.ALL : ProcessLogsMode.SUITE_NOT_COMPLETE;

        List<Integer> hist = tcIgnited.getLastNBuildsFromHistory(suiteId, branchForTc, buildResMergeCnt);

        String baseBranchForTc = Strings.isNullOrEmpty(tcBaseBranchParm) ? dfltBaseTcBranch(srvCodeOrAlias) : tcBaseBranchParm;

        FullChainRunCtx ctx = buildChainProcessor.loadFullChainContext(
            tcIgnited,
            hist,
            rebuild,
            logs,
            buildResMergeCnt == 1,
            baseBranchForTc,
            mode,
            null, null);

        DsChainUi chainStatus = new DsChainUi(srvCodeOrAlias, tcIgnited.serverCode(), branchForTc);

        chainStatus.baseBranchForTc = baseBranchForTc;

        if (ctx.isFakeStub())
            chainStatus.setBuildNotFound(true);
        else {
            //fail rate reference is always default (master)
            chainStatus.initFromContext(tcIgnited, ctx, baseBranchForTc, compactor, false,
                    null, null, -1, null, false, false); // don't need for PR
            chainStatus.findNewTests(ctx, tcIgnited, baseBranchForTc, compactor, newTestsStorage);
            initJiraAndGitInfo(chainStatus, jiraIntegration, gitHubConnIgnited);
        }

        res.addChainOnServer(chainStatus);

        res.initCounters(getPrUpdateCounters(srvCodeOrAlias, branchForTc, baseBranchForTc, creds));

        return res;
    }