Hi, We have many scripts executing per day & few of them are failing due to some errors . We tried to create "Execution failure notifier" listener to trigger mail when ever listener got failed for continuous 5 times.
The problem is, mail is triggering on every event failed but my requirement is to trigger an email when script fails for 5 times.
We are using below script:
import com.atlassian.mail.queue.SingleMailQueueItem
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.mail.Email
// Initialize a counter for failures
def failureCount = ComponentAccessor.getApplicationProperties().getString("failureCount") as Integer ?: 0
// Maximum number of failures to track
def maxFailures = 5
// Event listener for script failures
//def onScriptFailure(event) {
failureCount++
ComponentAccessor.getApplicationProperties().setString("count", failureCount.toString())
if (failureCount <= maxFailures) {
// Send email notification
ComponentAccessor.getApplicationProperties().setString("count", "0")
def email = new Email('sonamsh9909@gmail.com')
email.setSubject("Script Failure (${failureCount} of ${maxFailures})")
//log.warn(" feature name 2 "+event.getFeatureName().findAll())
email.setBody("""
Notes: ${event.notes}.
Something has gone wrong in ${event.featureName}.
To edit this, click here: ${event.url}
Error: ${event.stackTrace}
""")
SingleMailQueueItem item = new SingleMailQueueItem(email)
ComponentAccessor.getMailQueue().addItem(item)
}Can some one help me how to make this script to trigger only when 5 failure counts.
Thanks!