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: CRITICALDate/Time: Thu Jul 30 14:41:59 PST 2020
Thank you
Do follow up emails from Nagios have the Jira issue key in the subject? I don't see that anywhere.
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: OKDate/Time: Thu Jul 30 14:41:59 PST 2020
Thank you,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.