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

Scriptrunner - sending email when new version is created

Brian Leysath June 25, 2018

The following section of the documentation refers to sending an email when a new user or version is created, but the example only shows code for a new user.  I'm been attempting to modify for a new Version, but obviously am missing something.  Can someone update it for use with a new Version? 

-------

Sending mail from a non-issue event

The built-in script supports only issue-related events, and also "watcher added/removed" events.

If you want to send mail from an event not related to an issue, such as when a new Version or user is created, you can use a Custom Listener configure to handle the appropriate event, and a script such as this:

 

import com.atlassian.crowd.event.user.UserCreatedEvent
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.mail.Email
import com.atlassian.mail.queue.SingleMailQueueItem def event = event as UserCreatedEvent def email = new Email("someuser@example.com") email.setSubject("User created") email.setBody("User: ${event.user.displayName} created...") // email.setMimeType("text/html") // for messages with an html body SingleMailQueueItem item = new SingleMailQueueItem(email) ComponentAccessor.getMailQueue().addItem(item)

 

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
2 votes
Answer accepted
Mark Markov
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.
June 25, 2018

Hello @Brian Leysath

You must create listener on ever VersionCreateEvent

and script like this

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.project.VersionCreateEvent
import com.atlassian.mail.Email
import com.atlassian.mail.queue.SingleMailQueueItem

def event = event as VersionCreateEvent

def email = new Email("someuser@example.com")
email.setSubject("Version created")
email.setBody("Version: ${event.getVersion().name} created...")
// email.setMimeType("text/html") // for messages with an html body

SingleMailQueueItem item = new SingleMailQueueItem(email)
ComponentAccessor.getMailQueue().addItem(item)
Brian Leysath June 25, 2018

Thanks!  Looks like I was incorrectly specifying the versionCreateEvent.

Mark Markov
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.
June 25, 2018

You re welcome!

If this helps you, please mark answer as accepted :)

TAGS
AUG Leaders

Atlassian Community Events