package org.jenkinsci.plugins.p4_client.review; import hudson.Extension; import hudson.model.Action; import hudson.model.JobProperty; import hudson.model.JobPropertyDescriptor; import hudson.model.AbstractProject; import hudson.model.Job; import hudson.model.ParameterDefinition; import hudson.model.StringParameterDefinition; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONObject; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.export.Exported; public class ReviewProperty extends JobProperty<AbstractProject<?, ?>> { private final String url; public String getUrl() { return url; } @Exported public List<ParameterDefinition> getParameterDefinitions() { List<ParameterDefinition> swarm = new ArrayList<ParameterDefinition>(); swarm.add(new StringParameterDefinition("review", "0")); swarm.add(new StringParameterDefinition("change", "0")); swarm.add(new StringParameterDefinition("status", null)); swarm.add(new StringParameterDefinition("project", null)); swarm.add(new StringParameterDefinition("branch", null)); swarm.add(new StringParameterDefinition("pass", null)); swarm.add(new StringParameterDefinition("fail", null)); return swarm; } @DataBoundConstructor public ReviewProperty(String url) { this.url = url; } @Override public Action getJobAction(AbstractProject<?, ?> job) { return new ReviewAction(job, this); } @Extension public static final class DescriptorImpl extends JobPropertyDescriptor { public DescriptorImpl() { super(ReviewProperty.class); load(); } public boolean isApplicable(Class<? extends Job> jobType) { return AbstractProject.class.isAssignableFrom(jobType); } @Override public String getDisplayName() { return "Review Property"; } @Override public JobProperty<?> newInstance(StaplerRequest req, JSONObject formData) throws FormException { if (formData.isEmpty()) { return null; } ReviewProperty rp = req.bindJSON(ReviewProperty.class, formData.getJSONObject("review")); return rp; } } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#4 | 9672 | Paul Allen | Refactor name from 'p4_client' to 'p4'. | ||
#3 | 8729 | Paul Allen |
Changed Build Review to Transient Action (so no check box required). - Added Perforce Icon to Build Review Action. |
||
#2 | 8688 | Paul Allen | (Work in progress) Able to call build from review Action and pass URL params. | ||
#1 | 8683 | Paul Allen | Simple Action plugin hooks for building reviews in a Jenkins Job. |