package hudson.plugins.parameterizedtrigger; import hudson.Extension; import hudson.model.AbstractBuild; import hudson.model.Action; import hudson.model.Descriptor; import hudson.model.TaskListener; import hudson.scm.RevisionParameterAction; import hudson.scm.SubversionTagAction; import hudson.scm.SubversionSCM.SvnInfo; import java.util.ArrayList; import java.util.List; import org.kohsuke.stapler.DataBoundConstructor; public class SubversionRevisionBuildParameters extends AbstractBuildParameters { @DataBoundConstructor public SubversionRevisionBuildParameters() { } @Override public Action getAction(AbstractBuild<?,?> build, TaskListener listener) { SubversionTagAction tagAction = build.getAction(SubversionTagAction.class); if (tagAction == null) { listener.getLogger().println( "[parameterizedtrigger] no SubversionTagAction found -- is this project an SVN project ?"); return null; } List<SvnInfo> infos = new ArrayList<SvnInfo>(tagAction.getTags().keySet()); return new RevisionParameterAction(infos); } @Extension public static class DescriptorImpl extends Descriptor<AbstractBuildParameters> { @Override public String getDisplayName() { return "Subversion revision"; } } }