package org.jenkinsci.plugins.p4.email; import hudson.Extension; import hudson.Util; import hudson.model.User; import hudson.model.UserProperty; import hudson.model.UserPropertyDescriptor; import net.sf.json.JSONObject; import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.export.Exported; public class P4UserProperty extends UserProperty { private final String email; @DataBoundConstructor public P4UserProperty(String email) { this.email = Util.fixEmptyAndTrim(email); } @Extension @Symbol("user") public static class DescriptorImpl extends UserPropertyDescriptor { @Override public UserProperty newInstance(User user) { return new P4UserProperty(null); } @Override public String getDisplayName() { return "Perforce User Property"; } @Override public UserProperty newInstance(StaplerRequest req, JSONObject formData) throws FormException { return new P4UserProperty(formData.optString("email")); } } @Exported public String getEmail() { return email; } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#2 | 22684 | Paul Allen | Added @Symbol to Extension classes for Pipeline Syntax. | ||
#1 | 15503 | Paul Allen |
Created P4UserProperty to store Email address. P4UserProperty extends UserProperty to store the Perforce User’s email. Then retrieves it with P4AddressResolver by extending MailAddressResolver. JENKINS-28421 |