Jira Script Runner - Post Create Transition 函数不发送邮件

Jira Script Runner - Mail is not sent by Post Function of Create Transition

我们在 Jira 中有一个项目,用作电子邮件的收件箱。并非所有发送电子邮件的人都是 JIRA 中的用户(他们不应该是)。不过,我们想在收到电子邮件后通知您。电子邮件地址是问题描述的一部分。

我知道那里有一些插件,但我没有替换 Mailhandlers,而是试图为 JIRA 编写一个 groovy 脚本,以适应 this code 我想 post 进入Post 工作流的 CREATE 转换函数。

当我抓取一个现有的测试问题和 运行 控制台中的脚本时,以下代码工作正常:

import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.mail.Email
import com.atlassian.mail.server.MailServerManager
import com.atlassian.mail.server.SMTPMailServer

ComponentManager componentManager = ComponentManager.getInstance()
MailServerManager mailServerManager = componentManager.getMailServerManager()
SMTPMailServer mailServer = mailServerManager.getDefaultSMTPMailServer()

if (mailServer) {
    if (true) {  

        IssueManager issueManager = componentManager.getIssueManager()    
        Issue issue = issueManager.getIssueObject("IN-376")

        def grabEmail = {
            (((it.split(   "\[Created via e-mail received from:")[1]).split("<")[1]).split(">")[0])
        }
        String senderAddress = grabEmail("${issue.description}")

        Email email = new Email(senderAddress) 
        email.setSubject("JIRA Ticket erstellt: ${issue.summary}") 
        String content = "Content ----> by Issue2 ${issue.description}"
        email.setBody(content)
        mailServer.send(email)


    }
}

唉,在Post函数中不会运行这样:

import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.Issue
//import com.atlassian.jira.issue.IssueManager
import com.atlassian.mail.Email
import com.atlassian.mail.server.MailServerManager
import com.atlassian.mail.server.SMTPMailServer

ComponentManager componentManager = ComponentManager.getInstance()
MailServerManager mailServerManager = componentManager.getMailServerManager()
SMTPMailServer mailServer = mailServerManager.getDefaultSMTPMailServer()

if (mailServer) {
    if (true) {  

        //IssueManager issueManager = componentManager.getIssueManager()    
        //Issue issue = issueManager.getIssueObject("IN-376")

        def grabEmail = {
            (((it.split(   "\[Created via e-mail received from:")[1]).split("<")[1]).split(">")[0])
        }
        String senderAddress = grabEmail("${issue.description}")

        Email email = new Email(senderAddress) 
        email.setSubject("JIRA Ticket erstellt: ${issue.summary}") 
        String content = "Content ----> by Issue2 ${issue.description}"
        email.setBody(content)
        mailServer.send(email)


    }
}

我不知道为什么第二个代码会中断,因为这是基于使用问题的代码,就好像它是隐式定义的一样。这个Post函数是运行的最后一个函数。

我还会发现有关调试此问题的提示很有帮助。

谢谢!

我将 post 我的评论作为答案:那么我没有在任何日志中发现错误。也许我监督了它,抱歉,但我现在已经更改了很多配置(安装 JEMH 试用版)所以我无法重现。奇怪的是,消息现在就被发送了,所以我有一种不舒服的感觉,我在通知方案中的一些配置是错误的。

感谢大家的帮助和时间。