in commit-status-publisher-server/src/main/java/jetbrains/buildServer/commitPublisher/PublisherSettingsController.java [176:206]
private void processTestConnectionRequest(@NotNull final HttpServletRequest request, @NotNull final HttpServletResponse response, @NotNull final CommitStatusPublisherSettings settings, @NotNull final Map<String, String> params) {
new AjaxRequestProcessor().processRequest(request, response, new AjaxRequestProcessor.RequestHandler() {
public void handleRequest(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response, @NotNull Element xmlResponse) {
XmlResponseUtil.writeTestResult(xmlResponse, "");
ActionErrors errors = new ActionErrors();
try {
BasePropertiesBean propBean = new BasePropertiesBean(params);
PluginPropertiesUtil.bindPropertiesFromRequest(request, propBean);
Map<String, String> props = propBean.getProperties();
BuildTypeIdentity buildTypeOrTemplate = getBuildTypeOrTemplate(request.getParameter("id"));
PropertiesProcessor processor = settings.getParametersProcessor(buildTypeOrTemplate);
if (null != processor) {
Collection<InvalidProperty> invalidProps = processor.process(props);
if (invalidProps != null) {
for (InvalidProperty prop : invalidProps) {
errors.addError("testConnectionFailed", prop.getInvalidReason());
}
}
}
if (!errors.hasErrors()) {
testConnection(settings, props, request, errors);
}
} catch (PublisherException ex) {
reportTestConnectionFailure(ex, errors);
}
if (errors.hasErrors()) {
XmlResponseUtil.writeErrors(xmlResponse, errors);
}
}
});
}