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;
}