package com.smartcodeltd.jenkinsci.plugins.buildmonitor.facade;
import hudson.Main;
import hudson.model.PageDecorator;
import hudson.model.User;
import jenkins.model.Jenkins;
import org.jenkinsci.main.modules.instance_identity.PageDecoratorImpl;
public class StaticJenkinsAPIs {
public boolean isDevelopmentMode() {
return Main.isUnitTest || Main.isDevelopmentMode;
}
public String encodedPublicKey() {
return Jenkins.getInstance().getExtensionList(PageDecorator.class).get(PageDecoratorImpl.class).getEncodedPublicKey();
}
public int numberOfUsers() {
return User.getAll().size();
}
// see https://github.com/jan-molak/jenkins-build-monitor-plugin/issues/215
public String crumbFieldName() {
Jenkins instance = Jenkins.getInstance();
return instance.isUseCrumbs() ? instance.getCrumbIssuer().getCrumbRequestField() : ".crumb";
}
public boolean hasPlugin(String pluginName) {
return Jenkins.getInstance().getPlugin(pluginName) != null;
}
}