in TeamCity.GitHubIssues-server/src/main/java/jetbrains/buildServer/issueTracker/github/health/IssueTrackerSuggestion.java [62:84]
public List<ProjectSuggestedItem> getSuggestions(@NotNull final SProject project) {
boolean alreadyUsed = myIssueProvidersManager.getProviders(project).stream()
.anyMatch(it -> it.getType().equals(GitHubIssueProviderType.TYPE));
final List<ProjectSuggestedItem> result = new ArrayList<>();
if (!alreadyUsed) {
final List<SBuildType> buildTypes = project.getOwnBuildTypes();
Set<String> paths = getPathsFromVcsRoots(buildTypes);
if (paths.stream().anyMatch(ReferencesResolverUtil::mayContainReference)) {
paths = getPathsFromInstances(buildTypes);
}
if (!paths.isEmpty()) {
final Map<String, Map<String, Object>> results = new HashMap<>();
paths.stream()
.map(this::toSuggestion)
.filter(Objects::nonNull)
.forEach(sMap -> results.put((String)sMap.get("repoUrl"), sMap));
if (!results.isEmpty()) {
result.add(new ProjectSuggestedItem(getType(), project, Collections.singletonMap("suggestedTrackers", results)));
}
}
}
return result;
}