chúng tôi có một Dự án ở Jira mà chúng tôi sử dụng làm hộp thư đến cho Email. Không phải tất cả mọi người gửi email là người dùng trong JIRA (và họ sẽ không được). Tuy nhiên, chúng tôi muốn thông báo sau đó về việc đã nhận được Email. Địa chỉ email là một phần của mô tả Sự cố.Jira Script Runner - Thư không được gửi qua chức năng Đăng bài Tạo Chuyển tiếp
Tôi biết một số plugin ở đó nhưng thay vì thay thế Mailhandlers, tôi đang cố gắng viết kịch bản lệnh cho JIRA thích ứng với this code mà tôi muốn đăng vào chức năng đăng bài trên quá trình chuyển đổi CREATE của luồng công việc.
Các mã sau hoạt động tốt khi tôi lấy một Test-Issue hiện và chạy kịch bản trong giao diện điều khiển:
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)
}
}
Alas, nó sẽ không chạy trong các chức năng bài viết như thế này:
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)
}
}
Tôi không biết tại sao mã thứ hai bị hỏng do mã này dựa trên vấn đề sử dụng cũng như thể nó được xác định ngầm định. Chức năng Post này là chức năng cuối cùng để chạy.
Tôi cũng sẽ tìm thấy gợi ý là gỡ lỗi vấn đề này hữu ích.
Cảm ơn bạn!
Cách gỡ lỗi? Tôi đã từng sử dụng vấn đề này để xuất các thông báo gỡ lỗi của mình. Đặt mã của bạn trong khối try-catch và gửi ngoại lệ của bạn đến mô tả sự cố. Điều này cũng hoạt động tốt đối với các loại thông báo gỡ lỗi khác ... – rdmueller
bạn đã bật chức năng gửi thư chưa ?. – Nuwan
@ user880772: Trong một số dòng thứ hai được nhận xét ra – Roland