package com.intuit.tank.jenkins.configuration; /* * #%L * Intuit Tank Jenkins Plugin * %% * Copyright (C) 2011 - 2015 Intuit Inc. * %% * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * #L% */ import hudson.Extension; import hudson.model.JobProperty; import hudson.model.JobPropertyDescriptor; import hudson.model.Job; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; import com.intuit.tank.jenkins.constants.StringConstants; /** * This class allows us to persist configuration data across all of our * builders. * * @author bfiola * */ public class GlobalConfiguration extends JobProperty<Job<?, ?>> { @Extension public static final class GlobalConfigurationDescriptor extends JobPropertyDescriptor { public GlobalConfigurationDescriptor() { super(GlobalConfiguration.class); load(); } @Override public boolean configure(StaplerRequest req, JSONObject formData) throws FormException { req.bindJSON(this, formData); save(); return super.configure(req, formData); } @Override public String getDisplayName() { return StringConstants.DisplayName.GLOBAL_PLUGIN_CONFIGURATION; } } }