private boolean registerSuiteFailIssues()

in ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java [372:419]


    private boolean registerSuiteFailIssues(ITeamcityIgnited tcIgnited,
        String srvCode,
        String suiteId,
        String normalizeBranch,
        DsSuiteUi suiteFailure,
        String trackedBranch) {

        Integer btId = compactor.getStringIdIfPresent(suiteId);
        Integer brNormId = compactor.getStringIdIfPresent(normalizeBranch);

        IRunHistory runStat = tcIgnited.getSuiteRunHist(btId, brNormId).self();

        if (runStat == null)
            return false;

        boolean issueFound = false;

        Integer firstFailedBuildId = runStat.detectTemplate(EventTemplates.newCriticalFailure);

        if (firstFailedBuildId != null && Boolean.TRUE.equals(suiteFailure.hasCriticalProblem)) {
            IssueKey issueKey = new IssueKey(srvCode, firstFailedBuildId, suiteId);

            if (!issuesStorage.containsIssueKey(issueKey)) {
                issuesStorage.saveIssue(createIssueForSuite(tcIgnited, suiteFailure, trackedBranch,
                    issueKey, IssueType.newCriticalFailure));

                issueFound = true;
            }
        }

        if (cfg.getTeamcityConfig(srvCode).trustedSuites().contains(suiteId)
            || tcIgnited.config().trustedSuites().contains(suiteId)) {
            Integer firstTrustedSuiteFailue = runStat.detectTemplate(EventTemplates.newFailure);

            if (firstTrustedSuiteFailue != null) {
                IssueKey issueKey = new IssueKey(srvCode, firstTrustedSuiteFailue, suiteId);

                if (!issuesStorage.containsIssueKey(issueKey)) {
                    issuesStorage.saveIssue(createIssueForSuite(tcIgnited, suiteFailure, trackedBranch,
                        issueKey, IssueType.newTrustedSuiteFailure));

                    issueFound = true;
                }
            }
        }

        return issueFound;
    }