Use JEMH instead of JIRA Service Desk for notifications
Jira configuration
Disable customer notifications
Initially, Jira Service Desk has its own notification system enabled for each project. It uses this system to send customer notifications. As this guide will show, JEMH's Event Listener can be used instead, but you will first need to stop JSD's own system from generating duplicate notifications:
JIRA Service Desk 3.3 or newer
Go to the Project settings>Customer notifications and disable each issue event rule. See https://thepluginpeople.atlassian.net/browse/JEMH-5253 for more information.
JIRA Service Desk 3.2 or older
Go to Applications>JIRA Service Desk>Configuration and turn its notifications system off by clicking the on/off toggle.
Disable the Project Notification Scheme
With JSD Notifications disabled, JEMH also requires that the projects for which JEMH should handle notifications have no notification scheme selected, as leaving it enabled will generate JIRA standard notifications as well as JEMH notifications.
This is done through JIRA > Project Administration > Notifications > Actions : Select Scheme (none):
Make a note of what the notification scheme is called, you need it later!
Once its been deselected it will look like this:
JEMH configuration
Enable JEMH Event Listener
Done through JEMH > Event Listener > Issue Events
Check the box and submit:
Result:
Configure a Notification Mapping for the target Project
Notification Mappings contain two pages of configuration, one for "non-JIRA" users and one for "JIRA" users.
Non JIRA users | JIRA users |
---|---|
|
|
JEMH configuration can 'route' JIRA account holders (regardless of group membership, right to use) into being treated as non-Jira, in doing so, separating notification configuration from 'full' JIRA users
Setup Non-Jira notifications
Go to JEMH > Event Listener > Transports.
The email transport view launches with either the Non-Jira or Jira notification tab open. Select the Non-Jira notifications tab and click New Project Mapping.
Set the Project Key
Set the Project Keys field to have the Project Key that this applies to ( this is a CSV capable field, several keys can be used. Its also REGEXP capable, but the first mapping that matches the project wins). In this example the Project key is simply: JSD
Enable the Events and select Templates
Going with defaults for simplicity, scroll. down to Event Template selection, here the events that JEMH will react to and generate notifications are enabled by selecting a Template. No Template means no notification! Initially enable everything by default by checking the box:
What that does is set DEFAULT templates for all events, e.g.:
Once done, its important to save changes, scroll down:
After submission, the entry is shown, click the > to expand:
This then shows a view of the non-JIRA notification configuration:
Summary for non-JIRA users
They will receive TEXT notifications based on standard JIRA notifications for all events.
Setup Jira notifications
Client the JIRA notifications tab:
The view then changes to show the JIRA notification configuration for available Project Mappings. Here the JSD entry is indicating (1) that no notification scheme is selected. To edit the form use the pen icon (2):
Pick the notification scheme
This is now editing the Notification Mapping entry but looking at it from the JIRA user notifications side, and so now we need to select the Notification Scheme that will drive JEMH in resolving recipients for a given event:
Notify Me
Users creating issues by email usually want a notificaiton that their email created an issue but not for every comment they make after that time. Set the Notify Me Condition to forSelectedEvents then select the appropriate event(s) for Issue Created in Notify Me Events, in our defualt setup, that looks like:
Enable JSD Request participants
In order to notify JSD Request Participants this needs enabling:
Group Restriction & Group Restriction Condition
The Group Restriction can be set to be the group that can be optionally used to switch notifications from using the Event and Template configuration defined in the JIRA user section. To use a different event selection and/or custom templates, this needs setting to a pre-existing group name (Portal users won't have this group yet, but JEMH will dynamically add it as/when it processes mail from those users, see Profile configuration later). the Group Restriction Condition configures how the group membership will be interpreted, here we set noGroupsorGrouMemberIsNonJira, with the outcome that users with NO groups (eg Portal users) and users with the nominated group will be treated as non-JIRA (their notification will be effectively switched over to the non-JIRA notification tab configuration):
Enable the Events and select Templates
Repeat the process above again for enabling all the events with Default templates and submit the form to see:
Expand this view using the > on the left to see the JIRA notification configuration:
Summary for JIRA users
JIRA users with groups that don't include the nominated Group Restriction will be notified according to the Events and standard JIRA Templates selected. JIRA users with NO groups or with the group nominated in Group Restriction will have their notifications handled by the non-JIRA notification configuration, with that set of Events and Templates applied.
Review the Project Notifications page
The Project Notification page will advise you about JEMH configuration, enabling Project level admins to have some idea what JEMH is doing for 'non-JIRA' and 'JIRA' users (only System Admins can configure JEMH, and if you are authorized, there are shortcut options in the JEMH menu top right to edit the Notification Mapping (both JIRA and non-JIRA sections):
Testing customer notifications
After this configuration you'll be able to create an issue as a customer and have JEMH notify them (using default TEXT templates) with Agents getting the user-specific format (usually HTML). Validate that!
If there is no default assignee, it will exist only in the JSD Queue
Here I have a Portal User without any groups 'createme@localhost', they can login and create a ticket:
The user will then get a TEXT notification, confirming that the configuration is setup correctly:
If there is a default assignee defined in the project, a separate notification will be sent to the assignee: