Jira Script Runner - 创建过渡的Post Function不发送邮件

Rol*_*and 7 email scripting groovy jira

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

我知道一些插件,但不是替换Mailhandlers,我正在尝试为JIRA编写一个groovy脚本,以适应此代码,我想在工作流的CREATE转换中发布到Post函数中.

当我抓住现有的Test-Issue并在控制台中运行脚本时,以下代码可以正常工作:

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)


    }
}
Run Code Online (Sandbox Code Playgroud)

唉,它不会像这样在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)


    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢!

Rol*_*and 0

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

感谢大家的帮助和时间。