in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/space/SpacePublisher.java [224:271]
private boolean publishQueued(@NotNull BuildPromotion buildPromotion,
@NotNull BuildRevision revision,
@NotNull SpaceBuildStatus status,
@NotNull AdditionalTaskInfo additionalTaskInfo) throws PublisherException {
List<String> changes = buildPromotion.getContainingChanges().stream()
.limit(200)
.map(VcsModification::getVersion)
.collect(Collectors.toList());
String viewUrl = getViewUrl(buildPromotion);
if (viewUrl == null) {
LOG.warn(String.format("Can not build view URL for the build #%d. Probadly build configuration was removed. Status \"%s\" won't be published",
buildPromotion.getId(), status.getName()));
return false;
}
Date timestamp = buildPromotion.getServerStartDate() != null ? buildPromotion.getServerStartDate() : buildPromotion.getQueuedDate();
String taskName = buildPromotion.getBuildType() != null ? buildPromotion.getBuildType().getFullName() : UNKNOWN_BUILD_CONFIGURATION;
final String payload = createPayload(
changes,
status,
viewUrl,
SpaceSettings.getDisplayName(myParams),
taskName,
getTaskId(buildPromotion),
buildPromotion.getId(),
(timestamp == null ? new Date() : timestamp).getTime(),
additionalTaskInfo.getComment()
);
String description = LogUtil.describe(buildPromotion);
final SpaceToken token = requestToken(revision.getRoot().getName(), description);
final Repository repoInfo = SpaceUtils.getRepositoryInfo(revision.getRoot(), myParams.get(Constants.SPACE_PROJECT_KEY));
final String requestUrl = SpaceApiUrls.commitStatusUrl(
mySpaceConnector.getFullAddress(),
repoInfo.owner(),
repoInfo.repositoryName(),
revision.getRevision()
);
Map<String, String> headers = new LinkedHashMap<>();
headers.put(HttpHeaders.ACCEPT, ContentType.TEXT_PLAIN.getMimeType());
token.toHeader(headers);
postJson(requestUrl, null, payload, headers, description);
myStatusesCache.removeStatusFromCache(revision, taskName);
return true;
}