package hudson.plugins.jira; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.StaplerRequest; import hudson.Extension; import hudson.Launcher; import hudson.model.AbstractBuild; import hudson.model.AbstractProject; import hudson.model.BuildListener; import hudson.tasks.BuildStepDescriptor; import hudson.tasks.BuildStepMonitor; import hudson.tasks.Notifier; import hudson.tasks.Publisher; import net.sf.json.JSONObject; /** * A build step which creates new JIRA version * * @author Artem Koshelev artkoshelev@gmail.com * @deprecated Replaced by {@link JiraVersionCreatorBuilder}. Read its description to see why. * Kept for backward compatibility. */ @Deprecated public class JiraVersionCreator extends Notifier { private String jiraVersion; private String jiraProjectKey; @DataBoundConstructor public JiraVersionCreator(String jiraVersion, String jiraProjectKey) { this.jiraVersion = jiraVersion; this.jiraProjectKey = jiraProjectKey; } @Override public BuildStepMonitor getRequiredMonitorService() { return BuildStepMonitor.BUILD; } public String getJiraVersion() { return jiraVersion; } public void setJiraVersion(String jiraVersion) { this.jiraVersion = jiraVersion; } public String getJiraProjectKey() { return jiraProjectKey; } public void setJiraProjectKey(String jiraProjectKey) { this.jiraProjectKey = jiraProjectKey; } @Override public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) { JiraSite site = getSiteForProject(build.getProject()); return VersionCreator.perform(site, jiraVersion, jiraProjectKey, build, listener); } JiraSite getSiteForProject(AbstractProject<?, ?> project) { return JiraSite.get(project); } @Override public BuildStepDescriptor<Publisher> getDescriptor() { return DESCRIPTOR; } @Extension public static final DescriptorImpl DESCRIPTOR = new DescriptorImpl(); public static class DescriptorImpl extends BuildStepDescriptor<Publisher> { public DescriptorImpl() { super(JiraVersionCreator.class); } @Override public boolean isApplicable(Class<? extends AbstractProject> jobType) { return true; } @Override public JiraVersionCreator newInstance(StaplerRequest req, JSONObject formData) throws FormException { return req.bindJSON(JiraVersionCreator.class, formData); } @Override public String getDisplayName() { return Messages.JiraVersionCreator_DisplayName(); } @Override public String getHelpFile() { return "/plugin/jira/help-version-create.html"; } } }