Hello All,
I have a custom field(RequerterEmail) in the issue.
I created this field because many of these users are external, they don't have access to my company's jira. They are external customers. That's why I didn't use the userpicker field.
Therefore, I would like to send email to them whenever the request for this was created and closed.
I can't get the field value (RequerterEmail) and send the email.
My code is this:
Can anyone help me?
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.mail.Email
import com.atlassian.jira.mail.settings.MailSettings
import com.atlassian.mail.MailException
import com.atlassian.mail.server.SMTPMailServer
import com.atlassian.plugin.util.ContextClassLoaderSwitchingUtil
import org.apache.log4j.Level
import org.apache.log4j.Logger
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.fields.CustomField
String sendEmail(String emailAddr, String subject, String body) {
def logger = Logger.getLogger(getClass())
logger.setLevel(Level.DEBUG)
// Stop emails being sent if the outgoing mail server gets disabled (useful if you start a script sending emails and need to stop it)
def mailSettings = ComponentAccessor.getComponent(MailSettings)
if (mailSettings?.send()?.disabled) {
return 'Your outgoing mail server has been disabled'
}
def mailServer = ComponentAccessor.mailServerManager.defaultSMTPMailServer
if (!mailServer) {
logger.debug('Your mail server Object is Null, make sure to set the SMTP Mail Server Settings Correctly on your Server')
return 'Failed to Send Mail. No SMTP Mail Server Defined'
}
def email = new Email(emailAddr)
email.setMimeType('text/html')
email.setSubject(subject)
email.setBody(body)
try {
// This is needed to avoid the exception about IMAPProvider
ContextClassLoaderSwitchingUtil.runInContext(SMTPMailServer.classLoader) {
mailServer.send(email)
}
logger.debug('Mail sent')
'Success'
} catch (MailException e) {
logger.debug("Send mail failed with error: ${e.message}")
'Failed to Send Mail, Check Logs for error'
}
}
//sendEmail('user@email.com', '<Your subject here>', '<Your body here>')
def RequesterEmail = 12601 as Long
//def issue = issue as MutableIssue
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def UserEmailCustomField = CustomFieldManager.getCustomFieldObject(RequesterEmail)
def UserEmailValue = issue.getCustomFieldValue(UserEmailCustomField)
//def user_semail = com.atlassian.jira.component.ComponentAccessor.getCustomFieldValue(12601)
//return(UserEmailValue)
Hello Ravi,
In fact, the example you sent me works. But as I understand very little code, I'm having difficulty implementing this code for my case.
Can you help me?
Thank you in advance
BR
Were you able to send an email when you hard code the email address? It would be a good idea to try that first.
What is the type of your custom field?
Ravi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ravi,
How are you?
I usually see your videos
No, I couldn't.
I'm using a Text Field(single line).
In reality my code is not doing anything.
Can you help me with this?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello @Emanuel Paquetelima
Thanks.
So what you can do is to make sure that email is being sent. You can find a simple working example here.
Once that works then fetch the custom field value (if it is filled in) and use that in your code.
Ravi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Ravi,
In fact, the example you sent me works. But as I understand very little code, I'm having difficulty implementing this code for my case.
Can you help me?
Thank you in advance
BR
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.