Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Mail Handler is not adding email into comment section in an exisinting ticket

Shah Baloch July 30, 2020

Hi,
We would like to use mail handler for Nagios alerts. We would like to create Jira a ticket whenever an alert receive, if an issue exist with same subject then it should add email into comment. I am trying the following script but it is not adding email into comment, it is only creating tickets whenever I send a test email, even I'm sending the same email. Am I missing something?

import com.atlassian.jira.component.ComponentAccessor 
import com.atlassian.jira.service.util.ServiceUtils
import com.atlassian.jira.service.util.handler.MessageUserProcessor
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.user.util.UserManager
import com.atlassian.mail.MailUtils

def userManager = ComponentAccessor.getComponent(UserManager)
def projectManager = ComponentAccessor.getProjectManager()
def issueFactory = ComponentAccessor.getIssueFactory()
def messageUserProcessor = ComponentAccessor.getComponent(MessageUserProcessor)
def subject = message.getSubject() as String
def issue = ServiceUtils.findIssueObjectInString(subject)

if (issue) {
return
}


ApplicationUser user = userManager.getUserByName("admin")
ApplicationUser reporter = messageUserProcessor.getAuthorFromSender(message) ?: user
def project = projectManager.getProjectObjByKey("ALERT")

def issueObject = issueFactory.getIssue()
issueObject.setProjectObject(project)
issueObject.setSummary(subject)

issueObject.setDescription(MailUtils.getBody(message)) issueObject.setIssueTypeId(project.issueTypes.find { it.name == "Task" }.id) issueObject.setReporter(reporter)

messageHandlerContext.createIssue(user, issueObject)

 

Here is the email example

Subject: PROBLEM Service Alert: td-application-01/Service Check: PRT is CRITICAL

 

***** Nagios  Alert *****

Notification Type: PROBLEM

Service: Service Check: PRT
Host: td-application-01
Address: td-application-01
State: CRITICAL

Date/Time: Thu Jul 30 14:41:59 PST 2020

 

Thank you

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Boris Berenberg - Atlas Authority
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 4, 2020

Do follow up emails from Nagios have the Jira issue key in the subject? I don't see that anywhere.

Shah Baloch August 4, 2020

No there isn't an issue key. Below is the an example of the follow up email. However I sent the above email multiple time and each time it created a new ticket. If a system is down it keeps sending an alert after every hour till issue get resolved. Once issue gets resolved then it will send the Recovery email.

 For example if the above system is down for 4 hours, it will send 4 "Problem" emails and once it gets resolved then it will send a "Recovery" email. We want the Jira to create only  one ticket for all. The first 4 emails would be the same email with and final one will be a little bit different, as you can see it in the below example. How we can accomplish that? Thank for your help.

 

Subject: Recovery Service Alert: td-application-01/Service Check: PRT is OK

 

***** Nagios  Alert *****

Notification Type: Recovery

Service: Service Check: PRT
Host: td-application-01
Address: td-application-01
State: OK

Date/Time: Thu Jul 30 14:41:59 PST 2020

Thank you,

TAGS
AUG Leaders

Atlassian Community Events