Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In JEMH Cloud, JIRA users by account ids, JIRA groups and Email addresses can be dynamically added as recipients of Issue, Ad Hoc or Post Function notifications using Velocity scripts.

...

To add conditional recipients in notifications, go to Notifications ->  → Issue and edit your mapping by clicking on the Cog icon.

Under the Additional Recipients header you can find the Recipients Script field.

Image Removed

Image AddedThe text area input supports Velocity scripts. Use Ctrl+Space in the editor to view the velocity's context ($recipientUtils's methods, $context.issue, etc.).

...

Code Block
languagetext
themeEclipse
##If issue priority is blocker and type is bug, notify JIRA user johnfixall
#if ($context.issue.fields.priority.name.textValue() == "Blocker" && $context.issue.fields.issuetype.name.textValue() == "Bug")
	$recipientUtils.addUserRecipients("johnfixall557058:a8d85d49-2566-47f4-9f31-861930631857")
#end

##If issue is of project SD, notify email users devLead@mycompany.com and testLeader@mycompany.com
#if ($context.issue.fields.project.key.textValue() == "SD")
	$recipientUtils.addEmailRecipients("devLeader@mycompany.com,testLeader@mycompany.com")
#end

##If issue priority is Major, notify support level 3 group
#if ($context.issue.fields.priority.name.textValue() == "Major")
	$recipientUtils.addGroupRecipients("support-level-three")
#end

##If issue priority is Minor, notify support level 1 and level 2 groups
#if ($context.issue.fields.priority.name.textValue() == "Minor")
	$recipientUtils.addGroupRecipients("support-level-one,support-level-two")
#end

##If operation was made by CEO user or issue reporter's CEO user, notify management
#if ($context.user.key.textValue() == "ceo" || $context.issue.fields.reporter.key.textValue() == "ceo" )
	$recipientUtils.addGroupRecipients("management")
#end

...

Note

Adding a group by script (addGroupRecipients method) requires workaround user to be set.

.

Note

In order to know the account id of a particular user, you can use the User Finder tool in JEMHCloud → Tools → User Finder

Image Added

Copy and paste the account id into the script when adding users programatically. 

Testing

Issue notifications can be tested by creating or updating Issues through JIRA user interface, JEMH Cloud's email processing or JEMH Cloud's test cases.  These actions will generate issue events that JEMH Cloud listens for. 

You can see these events and the processing outcome by going to JEMHC configuration>Auditing>Eventsconfiguration → Auditing → Events.

After being processed, an event will have a report showing the recipients resolved, notifications sent and the problems or warnings found.  Use these reports to validate the recipients the script has resolved.  The below is an example of an Event Report taken from JEMHC>Auditing>Events JEMHC → Auditing → Events.  As you can see, one of the notification recipients has "(Script)" after their address, which signifies that this recipient was added due to the use of a velocity script.

...

Warning

Re-running an event will resend the emails. To avoid spamming your users, use a test mail server like mailtrap or disable the mail server by going to Notifications -> Message Outbound.

Related Articles

...