class JenkinsPlugin implements VisuwallPlugin<JenkinsConnection> {

    @Override
    public SoftwareId getSoftwareId(URL url, Map<String, String> properties) throws SoftwareNotFoundException {
        Preconditions.checkNotNull(url, "url is mandatory");
        try {
            url = new URL(url.toString() + "/api/");
            String content = Downloadables.getContent(url);
            JenkinsVersionPage jenkinsApiPage = new JenkinsVersionPage(content);
            if (jenkinsApiPage.isJenkinsApiPage()) {
                return jenkinsApiPage.createSoftwareId();
            }
        } catch (IOException e) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Can't get content of " + url, e);
            }
        }
        throw new SoftwareNotFoundException("Url " + url + " is not compatible with Jenkins");
    }

}