in webhooks-server/src/main/java/jetbrains/buildServer/webhook/WebhooksEventListener.java [56:77]
public void handle(AsyncEvent event) {
final String projectKey = event.getProjectId() != null ? event.getProjectId() : "<Root Project>";
try {
ProjectEx project = getRelatedProject(event);
if (isWebhooksEnabled(project, event.getEventType())) {
String webhooksUrl = getWebhooksUrl(project);
if (jsonProducer.support(event)) {
String eventData = jsonProducer.getJson(event, getResponseFields(project, event.getEventType()));
sendWithRetry(webhooksUrl, getWebhooksCredential(project), eventData, getRetryCount(project));
lastErrorCodeMap.remove(projectKey);
} else {
LOG.warn("Unsupported event type " + event.getEventType());
}
}
} catch (WebhookSendException ex) {
warn(projectKey, ex.getReason(), ex.getMessage());
} catch (ProjectNotFoundException ex) {
warn(projectKey, "PROJECT_NOT_FOUND", "Related project not found for event " + event);
} catch (Throwable throwable) {
warn(projectKey, throwable.getClass().getName(), throwable.getMessage());
}
}