private void publish()

in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/space/SpacePublisher.java [273:314]


  private void publish(@NotNull SBuild build,
                       @NotNull BuildRevision revision,
                       @NotNull SpaceBuildStatus status,
                       @NotNull String description) throws PublisherException {
    Date finishDate = build.getFinishDate();
    List<String> changes = build.getContainingChanges()
      .stream()
      .limit(200)
      .map(VcsModification::getVersion)
      .collect(Collectors.toList());

    String payload = createPayload(
      changes,
      status,
      getViewUrl(build),
      SpaceSettings.getDisplayName(myParams),
      build.getFullName(),
      getTaskId(build.getBuildPromotion()),
      build.getBuildId(),
      (finishDate == null ? build.getServerStartDate() : finishDate).getTime(),
      description
    );

    String buildDescription = LogUtil.describe(build);
    SpaceToken token = requestToken(revision.getRoot().getName(), buildDescription);

    Repository repoInfo= SpaceUtils.getRepositoryInfo(revision.getRoot(), myParams.get(Constants.SPACE_PROJECT_KEY));

    String url = 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(url, null, payload, headers, buildDescription);
    myStatusesCache.removeStatusFromCache(revision, build.getFullName());
  }