This guest blog was written by Tibor Hegyi, Founder of META-INF.
Let’s face it – while email is the most traditional form of collaboration, it remains a vital aspect of how companies get work done and is not going to disappear anytime soon. Yet as companies scale and need tools like Jira to keep up with increased business demands, it’s vital that email can be integrated into the workflow.
The below use case demonstrates how to implement an email approval process to either approve or decline access to services. This can be accomplished through Jira Service Desk with the help of two nifty Marketplace apps: Email This Issue for Jira and nFeed.
What is Email This Issue for Jira?
Email This Issue for Jira (or as many call it JETI, which stands for the Jira Email This Issue) is all about email collaboration on steroids. While Jira provides basic email capabilities, these features prove to be limited for many organizations when it comes to sophisticated email communication.
Available since 2007 as a free app, and joining the Atlassian Marketplace in 2012, JETI has gained significant popularity with over 4100 active instances and more than 3.5M users worldwide. Email This Issue is available in Jira Cloud and is rapidly catching up to its Server counterpart.
JETI allows for sending and processing emails with many advanced additions to what is available in Jira out-of-the-box.
Your first email to send is just a click away. The famous “Email button” is shown in the issue and opens the “Email Screen”. The email screen is like a simple email client right inside Jira.
JETI comes with its own Mail Handler implementation, making it very easy to initialize issue fields from or to execute workflow transitions based on email content.
What is nFeed?
nFeed is a brilliant app for Jira when it comes to querying data from pretty much any datasource. It is highly configurable and allows you to display data as you’d like within your issues. This is the number one app we recommend to our customers when they need this kind of integration.
Use Case: Getting emails approved with Jira Service Desk
In this example, Blue Atlas Consulting is an imaginary US company. They have a huge variety of services defined in a CMDB (Configuration Management Database), which is external to Jira.
Employees may request access to services via the Jira Service Desk Customer Portal, setup by the IT team.
Access to the services must be approved by the owner of the service. The service owners must be emailed when a request needs approval. Obviously, the service owner would like an easy way to give approval, which is right from the email without needing to open Jira. Employees are notified once their access requests are approved.
The Jira workflow is simplified to the bare minimum to demonstrate the use of these apps.
The need for nFeed
The CMDB in Blue Atlas Consulting resides in its dedicated database external to Jira. With the use of nFeed, it takes a few steps to connect to the database and hook the following data fields:
- Service: Employees must first select Services from the CMDB
- Access Level: Employees must specify their level of access in order to work with the service
- Approver: The owner of the selected service, shown readonly in the Customer Portal
Employees submit their Service Request via this customer portal.
Once an Access Request is created, a customized email must be sent to the Approver of the service.
The customized email should include all details the Approvers may need to make their decision:
- The employee who requests access
- The selected service
- The requested access level
In order to send these details in email, a new customized email template is needed.
JETI has its embedded WYSIWYG editor to make it easy to build templates with custom look and content, including issue fields and custom fields.
Adding nFeed Fields to the Email Template
The Field Picker component in the editor makes it easy to insert custom fields in the template.
Preparing for Approval via Email
Email approval will be based on reply emails containing the words “Approved” or “Decline” in the email subject. In order to make it easy and less error prone to send these emails the “Approve” and “Decline” buttons will be mailto: links as follows.
- Approve: mailto:<email address of the mail handler>?subject=($!issue.key) Approve
- Decline: mailto:<email address of the mail handler>?subject=($!issue.key) Decline
Setting up the reply email subjects with the proper key words (Approve and Decline) is crucial as these key words in the email subject will be scanned by JETI to execute the appropriate workflow transition.
Clicking the appropriate link, a new email is brought up to be sent immediately with a second click. Upon Decline approvers may add their messages in the email body which will be added as a comment to the service request.
Sending the Approval Email
Approval emails are sent using JETI’s event notification mechanism upon the Issue Created event.
To configure event notification, three steps are needed:
- Add a Notification Template (which is like the Jira Notification Scheme).
- Add all the events to the Notification Template with definition of recipients, and email templates.
- Add a Context to map the Notifications to the Jira Project.
Once complete, your event notification may look similar to this example.
The emails are marked as high importance, so that email clients like Outlook will highlight them.
A step-by-step tutorial is available to configure notifications in Email This Issue.
Approve by Email
Once the approval request email is received, the approver can simply click the appropriate buttons and send the approval right away.
Processing the Approvals
Approval emails are processed by JETI’s Mail Handler which allows for extracting information from the email content (be the Subject or Body or even hidden email headers) and initialize issue fields or execute workflow transitions.
Mail Handler Configuration
Steps to configure email approvals include the setup of the Email This Issue Mail Handler with workflow execution.
The email handler will be responsible for parsing the emails, scanning for the keywords, executing the transitions and saving the Approver’s comments to the Access Request.
A step-by-step tutorial is available to configure email processing with JETI.
Parsing Email Content
JETI includes the concept of Field Rules. Field Rules use regular expressions to parse email content and perform either of the following actions:
- Initialize issue fields
- Execute workflow transitions on issues
- Lookup issues for incoming emails upon issue fields and email content
- Block emails from being processed upon email content
This example contains two simple field rules. They check the email subject and execute the appropriate workflow transitions.
Notify Employees upon Approval
The last step in this example is to notify the employees when their access request is approved. This is best done using JETI’s Workflow Post-function.
The post function may be attached to any workflow transition and allows for easy, transition specific notifications. The post function similar same configuration options as an event notification, including the recipients, email content, templates and an optional JQL condition.
Give nFeed and Email this Issue a try!
Balancing both Jira and emails to move your workflow along can be challenging, but as we’ve seen nFeed and Email This Issue apps can make this task a breeze. You can try them both on the Atlassian Marketplace.