Module and states code refactor
Change-Id: Ia1c468d0b55603b6274ca0d275b2720602e5319e
diff --git a/_states/jenkins_smtp.py b/_states/jenkins_smtp.py
index f27972e..b3029b7 100644
--- a/_states/jenkins_smtp.py
+++ b/_states/jenkins_smtp.py
@@ -1,48 +1,49 @@
import logging
+
logger = logging.getLogger(__name__)
set_smtp_groovy = """\
def result = ""
-for(desc in [Jenkins.getInstance().getDescriptor("hudson.plugins.emailext.ExtendedEmailPublisher"),Jenkins.getInstance().getDescriptor("hudson.tasks.Mailer")]){{
- if(desc.getSmtpServer().equals("{host}") &&
- ((desc instanceof hudson.plugins.emailext.ExtendedEmailPublisherDescriptor && desc.getSmtpAuthUsername().equals("{username}")) ||
- (desc instanceof hudson.tasks.Mailer$DescriptorImpl && desc.getSmtpAuthUserName().equals("{username}"))) &&
- desc.getSmtpAuthPassword().toString().equals("{password}") &&
- desc.getSmtpPort().equals("{port}") &&
- desc.getUseSsl() == {ssl} &&
- desc.getCharset().equals("{charset}") &&
- (!{reply_to_exists} || desc.getReplyAddress().equals("{reply_to}"))){{
+for(desc in [Jenkins.getInstance().getDescriptor("hudson.plugins.emailext.ExtendedEmailPublisher"),Jenkins.getInstance().getDescriptor("hudson.tasks.Mailer")]){
+ if(desc.getSmtpServer().equals("${host}") &&
+ ((desc instanceof hudson.plugins.emailext.ExtendedEmailPublisherDescriptor && desc.getSmtpAuthUsername().equals("${username}")) ||
+ (desc instanceof hudson.tasks.Mailer$DescriptorImpl && desc.getSmtpAuthUserName().equals("${username}"))) &&
+ desc.getSmtpAuthPassword().toString().equals("${password}") &&
+ desc.getSmtpPort().equals("${port}") &&
+ desc.getUseSsl() == ${ssl} &&
+ desc.getCharset().equals("${charset}") &&
+ (!{reply_to_exists} || desc.getReplyAddress().equals("${reply_to}"))){
result = "EXISTS"
- }}else{{
- desc.setSmtpAuth("{username}", "{password}")
- desc.setUseSsl({ssl})
- if(desc instanceof hudson.plugins.emailext.ExtendedEmailPublisherDescriptor){{
- desc.setSmtpServer("{host}")
- }}else{{
- desc.setSmtpHost("{host}")
- }}
- desc.setSmtpPort("{port}")
- desc.setCharset("{charset}")
- if({reply_to_exists}){{
- desc.setReplyToAddress("{reply_to}")
- }}
+ }else{
+ desc.setSmtpAuth("${username}", "${password}")
+ desc.setUseSsl(${ssl})
+ if(desc instanceof hudson.plugins.emailext.ExtendedEmailPublisherDescriptor){
+ desc.setSmtpServer("${host}")
+ }else{
+ desc.setSmtpHost("${host}")
+ }
+ desc.setSmtpPort("${port}")
+ desc.setCharset("${charset}")
+ if({reply_to_exists}){
+ desc.setReplyToAddress("${reply_to}")
+ }
desc.save()
result = "SUCCESS"
- }}
-}}
+ }
+}
print(result)
-""" # noqa
+""" # noqa
set_admin_email_groovy = """
def jenkinsLocationConfiguration = JenkinsLocationConfiguration.get()
-if(jenkinsLocationConfiguration.getAdminAddress().equals("{email}")){{
+if(jenkinsLocationConfiguration.getAdminAddress().equals("${email}")){
print("EXISTS")
-}}else{{
- jenkinsLocationConfiguration.setAdminAddress("{email}")
+}else{
+ jenkinsLocationConfiguration.setAdminAddress("${email}")
jenkinsLocationConfiguration.save()
print("SUCCESS")
-}}
-""" # noqa
+}
+""" # noqa
def __virtual__():
@@ -57,7 +58,8 @@
return True
-def config(name, host, username, password, reply_to=None, port=25, ssl=False, charset="UTF-8"):
+def config(name, host, username, password, reply_to=None,
+ port=25, ssl=False, charset="UTF-8"):
"""
Jenkins SMTP server config state method
@@ -85,24 +87,26 @@
ret['comment'] = 'Jenkins SMTP config %s %s' % (name, status.lower())
else:
call_result = __salt__['jenkins_common.call_groovy_script'](
- set_smtp_groovy, {"username": username, "password": password, "host": host,
+ set_smtp_groovy, {"username": username, "password": password, "host": host,
"reply_to_exists": "true" if reply_to else "false",
"reply_to": reply_to,
"port": port if port else 25,
"ssl": "true" if ssl else "false",
"charset": charset if charset else "UTF-8"})
- if call_result["code"] == 200 and call_result["msg"] in ["SUCCESS", "EXISTS"]:
+ if call_result["code"] == 200 and call_result["msg"] in [
+ "SUCCESS", "EXISTS"]:
status = call_result["msg"]
if status == "SUCCESS":
ret['changes'][name] = status
- ret['comment'] = 'Jenkins smtp config %s %s' % (name, status.lower())
+ ret['comment'] = 'Jenkins smtp config %s %s' % (
+ name, status.lower())
result = True
else:
status = 'FAILED'
logger.error(
"Jenkins smtp API call failure: %s", call_result["msg"])
ret['comment'] = 'Jenkins smtp API call failure: %s' % (call_result[
- "msg"])
+ "msg"])
ret['result'] = None if test else result
return ret
@@ -125,15 +129,18 @@
if test:
status = "SUCCESS"
ret['changes'][name] = status
- ret['comment'] = 'Jenkins admin email config %s %s' % (name, status.lower())
+ ret['comment'] = 'Jenkins admin email config %s %s' % (
+ name, status.lower())
else:
call_result = __salt__['jenkins_common.call_groovy_script'](
set_admin_email_groovy, {"email": email})
- if call_result["code"] == 200 and call_result["msg"] in ["SUCCESS", "EXISTS"]:
+ if call_result["code"] == 200 and call_result["msg"] in [
+ "SUCCESS", "EXISTS"]:
status = call_result["msg"]
if status == "SUCCESS":
ret['changes'][name] = status
- ret['comment'] = 'Jenkins admin email config %s %s' % (name, status.lower())
+ ret['comment'] = 'Jenkins admin email config %s %s' % (
+ name, status.lower())
result = True
else:
status = 'FAILED'