package jenkins.model; import hudson.Extension; import hudson.Plugin; import hudson.StructuredForm; import net.sf.json.JSONObject; import org.jenkinsci.Symbol; import org.kohsuke.stapler.StaplerRequest; import javax.servlet.ServletException; import java.io.IOException; /** * Include config.jelly defined for {@link Plugin}s. * * <p> * This object just acts as a proxy to configure {@link Jenkins#clouds} * * @author Kohsuke Kawaguchi */ @Extension(ordinal=100) @Symbol("plugin") // historically this was placed above general configuration from arbitrary descriptors public class GlobalPluginConfiguration extends GlobalConfiguration { @Override public boolean configure(StaplerRequest req, JSONObject json) throws FormException { try { for( JSONObject o : StructuredForm.toList(json, "plugin")) Jenkins.getInstance().pluginManager.getPlugin(o.getString("name")).getPlugin().configure(req, o); return true; } catch (IOException | ServletException e) { throw new FormException(e,"plugin"); } } }