In JEMH Cloud, JIRA Jira users by account ids, JIRA Jira groups and Email addresses can be dynamically added as recipients of Issue, Ad Hoc or Post Function notifications using Velocity scripts.
The main use case of this feature is when you depend on the event's context (like the issue data) to add extra recipients. E.g.: Notify This allows you to do things such as notify managers when the issue's priority is Critical.
...
Under the Additional Recipients header you can find the Recipients Script field.
...
$recipientUtils
's methods, $context.issue, etc.).
...
Info |
---|
JEMHCloud doesn't duplicate emails. if an email has been resolved by several configurations (static or script), the recipient will receive the notification only once. |
Conditional recipients in Ad-Hoc Notifications and Post Functions
Recipients scripts can be added to AdHoc and Post Function Notifications as TO, CC or BCC. Each script resolves the recipients for each type. E.g.: A recipient For example, a recipient added via the CC script resolves, will receive the email as CC.
...
The following examples can be used in Issue, Adhoc and Post Function notification:
Code Block | ||||
---|---|---|---|---|
| ||||
##If issue priority is blocker and type is bug, notify JIRAJira user johnfixall #if ($context.issue.fields.priority.name.textValue() == "Blocker" && $context.issue.fields.issuetype.name.textValue() == "Bug") $recipientUtils.addUserRecipients("557058: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 ( |
...
Note |
---|
In order to know the account id of a particular user, you can use the User Finder tool in JEMHCloud → JEMH Cloud → Tools → User Finder . 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 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 → 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. 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.
...
An event can be re-processed by clicking the action Run so you can tweak the script and re-run events testing the script possibilities.
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
Filter by label (Content by label) | ||||||||
---|---|---|---|---|---|---|---|---|
|