private boolean publishQueued()

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