Skip to content

Commit

Permalink
[JENKINS-39147] Add API to programmatically configure global settings…
Browse files Browse the repository at this point in the history
… for email-ext plugin (#144)
  • Loading branch information
sgtcoolguy authored and davidvanlaatum committed Oct 23, 2016
1 parent e4c2144 commit fb028e6
Showing 1 changed file with 129 additions and 9 deletions.
Expand Up @@ -106,11 +106,11 @@ public final class ExtendedEmailPublisherDescriptor extends BuildStepDescriptor<
private String defaultPostsendScript = "";

private List<GroovyScriptPath> defaultClasspath = new ArrayList<>();

private transient List<EmailTriggerDescriptor> defaultTriggers = new ArrayList<>();

private List<String> defaultTriggerIds = new ArrayList<>();

/**
* This is the global emergency email address
*/
Expand Down Expand Up @@ -182,7 +182,7 @@ public String getAdminAddress() {
public String getDefaultSuffix() {
return defaultSuffix;
}

public void setDefaultSuffix(String defaultSuffix) {
this.defaultSuffix = defaultSuffix;
}
Expand Down Expand Up @@ -253,18 +253,45 @@ public String getSmtpAuthUsername() {
return smtpAuthUsername;
}

@SuppressWarnings("unused")
public void setSmtpAuthUsername(String username) {
this.smtpAuthUsername = username;
}

public String getSmtpAuthPassword() {
return Secret.toString(smtpAuthPassword);
}

@SuppressWarnings("unused")
public void setSmtpAuthPassword(String password) {
this.smtpAuthPassword = Secret.fromString(password);
}

// Make API match Mailer plugin
@SuppressWarnings("unused")
public void setSmtpAuth(String userName, String password) {
setSmtpAuthUsername(userName);
setSmtpAuthPassword(password);
}

public boolean getUseSsl() {
return useSsl;
}

@SuppressWarnings("unused")
public void setUseSsl(boolean useSsl) {
this.useSsl = useSsl;
}

public String getSmtpPort() {
return smtpPort;
}

@SuppressWarnings("unused")
public void setSmtpPort(String port) {
this.smtpPort = nullify(port);
}

public String getCharset() {
String c = charset;
if (StringUtils.isBlank(c)) {
Expand All @@ -273,58 +300,131 @@ public String getCharset() {
return c;
}

@SuppressWarnings("unused")
public void setCharset(String charset) {
this.charset = charset;
}

public String getDefaultContentType() {
return defaultContentType;
}

@SuppressWarnings("unused")
public void setDefaultContentType(String contentType) {
if (StringUtils.isBlank(contentType)) {
this.defaultContentType = "text/plain";
} else {
this.defaultContentType = contentType;
}
}

public String getDefaultSubject() {
return defaultSubject;
}

@SuppressWarnings("unused")
public void setDefaultSubject(String subject) {
if (subject == null) {
this.defaultSubject = ExtendedEmailPublisher.DEFAULT_SUBJECT_TEXT;
} else {
this.defaultSubject = subject;
}
}

public String getDefaultBody() {
return defaultBody;
}

@SuppressWarnings("unused")
public void setDefaultBody(String body) {
if (body == null) {
this.defaultBody = ExtendedEmailPublisher.DEFAULT_BODY_TEXT;
} else {
this.defaultBody = body;
}
}

public String getEmergencyReroute() {
return emergencyReroute;
}

protected void setEmergencyReroute(String emergencyReroute) {
this.emergencyReroute = emergencyReroute;
if (emergencyReroute == null) {
this.emergencyReroute = ExtendedEmailPublisher.DEFAULT_EMERGENCY_REROUTE_TEXT;
} else {
this.emergencyReroute = emergencyReroute;
}
}

public long getMaxAttachmentSize() {
return maxAttachmentSize;
}

public void setMaxAttachmentSize(long bytes) {
if (bytes < 0) {
bytes = -1; // set to default "empty" value
}
this.maxAttachmentSize = bytes;
}

public long getMaxAttachmentSizeMb() {
return maxAttachmentSize / (1024 * 1024);
}

@SuppressWarnings("unused")
public void setMaxAttachmentSizeMb(long mb) {
setMaxAttachmentSize(mb * (1024 * 1024));
}

public String getDefaultRecipients() {
return recipientList;
}

@SuppressWarnings("unused")
public void setDefaultRecipients(String recipients) {
this.recipientList = ((recipients == null) ? "" : recipients);
}

public String getExcludedCommitters() {
return excludedCommitters;
}

@SuppressWarnings("unused")
public void setExcludedCommitters(String excluded) {
this.excludedCommitters = ((excluded == null) ? "" : excluded);
}

public boolean getOverrideGlobalSettings() {
return overrideGlobalSettings;
}

public String getListId() {
return listId;
}

@SuppressWarnings("unused")
public void setListId(String id) {
this.listId = nullify(id);
}

public boolean getPrecedenceBulk() {
return precedenceBulk;
}

@SuppressWarnings("unused")
public void setPrecedenceBulk(boolean bulk) {
this.precedenceBulk = bulk;
}

public String getDefaultReplyTo() {
return defaultReplyTo;
}

@SuppressWarnings("unused")
public void setDefaultReplyTo(String to) {
this.defaultReplyTo = ((to == null) ? "" : to);
}

public boolean isSecurityEnabled() {
return false;
}
Expand All @@ -333,10 +433,20 @@ public boolean isAdminRequiredForTemplateTesting() {
return requireAdminForTemplateTesting;
}

@SuppressWarnings("unused")
public void setAdminRequiredForTemplateTesting(boolean requireAdmin) {
this.requireAdminForTemplateTesting = requireAdmin;
}

public boolean isWatchingEnabled() {
return enableWatching;
}

@SuppressWarnings("unused")
public void setWatchingEnabled(boolean enabled) {
this.enableWatching = enabled;
}

public boolean isApplicable(Class<? extends AbstractProject> jobType) {
return true;
}
Expand All @@ -345,14 +455,24 @@ public String getDefaultPresendScript() {
return defaultPresendScript;
}

@SuppressWarnings("unused")
public void setDefaultPresendScript(String script) {
this.defaultPresendScript = ((script == null) ? "" : script);
}

public String getDefaultPostsendScript() {
return defaultPostsendScript;
}

@SuppressWarnings("unused")
public void setDefaultPostsendScript(String script) {
this.defaultPostsendScript = ((script == null) ? "" : script);
}

public List<GroovyScriptPath> getDefaultClasspath() {
return defaultClasspath;
}

public List<String> getDefaultTriggerIds() {
if (defaultTriggerIds.isEmpty()) {
if (!defaultTriggers.isEmpty()) {
Expand Down Expand Up @@ -446,7 +566,7 @@ public boolean configure(StaplerRequest req, JSONObject formData)
} else if(StringUtils.isNotEmpty(formData.optString("defaultTriggers"))) {
ids.add(formData.getString("defaultTriggers"));
}

if(!ids.isEmpty()) {
defaultTriggerIds.clear();
for(String id : ids) {
Expand All @@ -456,7 +576,7 @@ public boolean configure(StaplerRequest req, JSONObject formData)
}
}
}

if(!overrideGlobalSettings) {
upgradeFromMailer();
}
Expand Down

0 comments on commit fb028e6

Please sign in to comment.