I have an email template that I want to send for each issue of a JQL with in template using script runner JOBS functionality.
import com.atlassian.mail.Email;
import com.atlassian.mail.server.MailServerManager;
import com.atlassian.mail.server.SMTPMailServer;
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.component.ComponentAccessor
Query query = jqlQueryParser.parseQuery('project = "Risk Exceptions" AND status = Closed')
def results = searchService.search(scriptUser[0],query, PagerFilter.getUnlimitedFilter())
log.warn("Total issues: ${results.total}")
List<Issue> matchingIssues = []
results.getResults().each { documentIssue ->
def issue = issueManager.getIssueObject(documentIssue.id)
matchingIssues.add(issue)
}
log.warn("${matchingIssues}")
subject = "test"
emailAddr = "something@something.com"
body = "This issue " + issue.getkey().toString() + " will expire in 15 days".
def sendEmail(String emailAddr, String subject, String body) {
SMTPMailServer mailServer = ComponentManager.getInstance().getMailServerManager().getDefaultSMTPMailServer();
if (mailServer) {
Email email = new Email(emailAddr);
email.setMimeType("text/html");
email.setSubject(subject);
email.setBody(body);
mailServer.send(email);
} else {
// Problem getting the mail server from JIRA configuration, log this error
}
}
sendEmail (emailAddr, subject, body)
The above format sends an email but I want to send my template to each issue of the JQL.