in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/bitbucketCloud/BitbucketCloudPublisher.java [289:321]
private String parseErrorMessage(@NotNull HttpHelper.HttpResponse response) {
try {
String str = response.getContent();
if (str == null) {
return null;
}
LOG.debug("Bitbucket Cloud response: " + str);
JsonElement json = new JsonParser().parse(str);
if (!json.isJsonObject())
return null;
JsonObject jsonObj = json.getAsJsonObject();
JsonElement error = jsonObj.get("error");
if (error == null || !error.isJsonObject())
return null;
final JsonObject errorObj = error.getAsJsonObject();
JsonElement msg = errorObj.get("message");
if (msg == null)
return null;
StringBuilder result = new StringBuilder(msg.getAsString());
JsonElement fields = errorObj.get("fields");
if (fields != null && fields.isJsonObject()) {
result.append(". ");
JsonObject fieldsObj = fields.getAsJsonObject();
for (Map.Entry<String, JsonElement> e : fieldsObj.entrySet()) {
result.append("Field '").append(e.getKey()).append("': ").append(e.getValue().getAsString());
}
}
return result.toString();
} catch (JsonSyntaxException e) {
return null;
}
}