in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/stash/StashPublisher.java [599:625]
public Collection<JsonStashBuildStatus> getCommitBuildStatuses(@NotNull StatusRequestData data, @NotNull String buildDescription) throws PublisherException {
final String baseEndpointUrl = getBaseUrl(data.getVcsRootInstance().getProperty("url")) + "/rest/build-status/1.0/commits/" + data.getCommit();
final ResponseEntityProcessor<DeprecatedJsonStashBuildStatuses> processor = new ResponseEntityProcessor<>(DeprecatedJsonStashBuildStatuses.class);
int size = 25;
int start = 0;
Collection<JsonStashBuildStatus> result = new ArrayList<>();
boolean shouldContinueSearch = true;
final int statusesThreshold = TeamCityProperties.getInteger(Constants.STATUSES_TO_LOAD_THRESHOLD_PROPERTY, Constants.STATUSES_TO_LOAD_THRESHOLD_DEFAULT_VAL);
do {
DeprecatedJsonStashBuildStatuses statuses = doLoadStatuses(baseEndpointUrl, processor, start, size, buildDescription, data);
if (statuses == null || statuses.values == null || statuses.values.isEmpty()) {
shouldContinueSearch = false;
} else {
boolean requiredStatusFound = false;
for (DeprecatedJsonStashBuildStatuses.Status status : statuses.values) {
if (data.getKey().equals(status.key)) {
requiredStatusFound = true;
}
result.add(convertToActualStatus(status));
}
if (requiredStatusFound || statuses.isLastPage || result.size() >= statusesThreshold) {
shouldContinueSearch = false;
}
}
} while (shouldContinueSearch);
return result;
}