in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/space/SpacePublisher.java [143:177]
private SpaceBuildStatusInfo getExternalCheckStatus(@NotNull BuildRevision revision, @Nullable SBuildType buildType) throws PublisherException {
String buildFullName = buildType != null ? buildType.getFullName() : UNKNOWN_BUILD_CONFIGURATION;
AtomicReference<PublisherException> exception = new AtomicReference<>(null);
SpaceBuildStatusInfo status = myStatusesCache.getStatusFromCache(revision, buildFullName, () -> {
ResponseEntityProcessor<SpaceBuildStatusInfo[]> processor = new ResponseEntityProcessor<>(SpaceBuildStatusInfo[].class);
final SpaceToken token;
try {
token = requestToken(revision.getRoot().getName(), buildFullName);
} catch (PublisherException e) {
exception.set(e);
return Collections.emptyList();
}
Map<String, String> headers = new LinkedHashMap<>();
headers.put(HttpHeaders.ACCEPT, ContentType.APPLICATION_JSON.getMimeType());
token.toHeader(headers);
SpaceBuildStatusInfo[] commitStatuses;
try {
String url = buildStatusesUrl(revision);
commitStatuses = get(url, null, headers, processor);
} catch (PublisherException e) {
exception.set(e);
return Collections.emptyList();
}
if (commitStatuses == null || commitStatuses.length == 0) {
return Collections.emptyList();
}
return Arrays.asList(commitStatuses);
}, spaceStatus -> spaceStatus.taskName);
if (exception.get() != null) {
throw exception.get();
}
return status;
}