JEMH Cloud - Enterprise Mail Handler for Jira Cloud

This Confluence space is for the cloud-based app. There is separate documentation for JEMH on self-hosted Jira instances.

What is JEMH Cloud?

Enterprise Mail Handler for Jira Cloud (abbreviated to JEMH Cloud) is an application that provides powerful and comprehensive email integration with the Atlassian Jira cloud platform. It's based on the established Enterprise Mail Handler for Jira Server. Like it’s self-hosted counterpart, its main purpose is:

  1. Integration of external users without accounts and external systems

  2. Automation of the routing of messages to Jira projects

  3. Enabling remote creation and manipulation of issues through email

  4. Allowing complete control of outbound notifications (via email or other channels)

Email user support

Map remote users (by sender address) to specific Jira projects/assignees automatically.

System integrations

JEMH Cloud enables the routing of remote server application exceptions to Jira projects without the need for point-to-point firewall connectivity.

Prerequisites

  • An active Atlassian Jira Cloud site. To use the app with self-hosted Jira installations, try JEMH for Jira Server/Data Center.

  • An external mailbox is needed for sending and receiving mail. Atlassian Jira Cloud's built-in mailbox can't be used due to password rotation, so it's best to use a service like Google Mail or Microsoft 365 (or your own if it supports standard SMTP and POP/IMAP protocols).

Pricing

More information on JEMH Cloud pricing can be found on the Licensing page.

Data Residency

For information on Data Residency, see https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/4102750249.

Trust Center

Visthttps://trust.thepluginpeople.com/ to gain access to our SOC2 compliance attestations (Type 1 is done, Type 2 is underway).

Data Privacy

The following should provide answers to questions on data processing. For any specific query or concern, please raise a support request.

  1. The https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/3513122870 that you agree to through the App EULA https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/163164185 is based on https://thepluginpeople.atlassian.net/wiki/spaces/PP/pages/874053717, which eliminates the need for per-customer signing of DPA.

  2. Consult https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/3509485591 to find out what we do with your data and why (our https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/3510763577 checklist for the processing of your data)

  3. See details on https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/3510763521 and https://thepluginpeople.atlassian.net/wiki/spaces/JEMH/pages/26738773

  4. https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/3765633025

  5. In order to authenticate the app’s use of data from Google services via OAuth, we are required to statically host copies of our Privacy Policy and EULA under a top level domain. These can be found at http://thepluginpeople.com.

Our Confluence wiki also contains the  and

JEMHC integrates with Atlassian to support right-to-be forgotten. Additionally, many notifications have additional unsubscribe features.

Message retention

JEMH Cloud stores every incoming message, in encrypted form in the database.  At most 100 messages are retained, old ones are removed as new ones are added.

Users wanting a 'mail archive' should consider using their mail server for this purpose, by auto-forwarding copies to an archive mailbox.

Differences between server and cloud

Please note the following difference between JEMH for Cloud and JEMH for Server/DC of configuration for Inbound Mailbox

JEMH for Jira Server requires configuration of the Incoming mail connection via Jira > System > Incoming mail as Jira communicates with mail servers on behalf of the app.

JEMH Cloud doesn’t use Jira’s incoming mail configuration as the app handles mail server communication itself. All JEMH Cloud mail server configuration is done via JEMHC > Messaging.

JEMH Server wrapped up all configuration into a Profile. The addition of per-project Mappings and related Rules to drive selection of that project for issue creation were limited in the ‘fields' that could be set. This results in scenarios where multiple profiles are necessary.  In JEMH Cloud, the Profile doesn’t contain email processing configuration and all configuration is available through Project Mappings.

Terminology

Message Sources

Specifies how the app should connect to a source of emails to process.

Message Handlers

The association between a Message Source and a Profile.

Message Outbound

Defines the connectivity details for a mail host responsible for outbound message notification.

Profiles

A Profile contains all configuration specific to processing emails from a Message Handler.

Project Mappings

Project Mappings specify processing configuration for each project. To be chosen during email processing, a mapping must have a valid Mapping Rule attached. A rule outlines conditions that an email (or its derived data) must meet and is considered valid if these conditions are met. A Default Project Mapping is always present that is used when no other mappings apply.

Project Mapping Rules

Mapping rules define criteria for matching incoming emails to Project Mappings. They are added to non-default mappings, as the default mapping applies when no rule matches. Configuration is inherited from the parent mapping but can be optionally overwritten at the Rule level.

Directives

Directives are user supplied values found in an email that follow a specific format. They can be interpreted and used to affect how issues are created or modified, for example, changing the issue’s priority or summary.

Email Custom Field

The custom field that will be used to store remote users email addresses. This custom field is a TEXT (multi-line) custom field that is valid for the given issue. It has a simple comma separated format of user@place.com,user2@place.com,user3@place.com, no 'personal' parts are supported.

Webhooks

Webhooks represent the events generated by Jira as a result of user actions on an issue. These modifications trigger JEMH Cloud notifications and can also be saved as Preview Contexts.

Preview Context

Webhook data for a given issue can be saved, allowing Notification Templates to be previewed with real-world data.

Notification Template

Notification Templates contain the Velocity markup that drives notifications, they can be TEXT or include HTML markup. Velocity Macros (Velocimacros) are also supported with a system macros and user definable macros.

Velocimacros

A set of JEMH Cloud system velocimacros provide a way to simplify markup, enabling users to customise the presentation of specific fields and sections by overriding them.

Themes

Themes allow complete control over the styling that is applied to notification content. JEMH Cloud comes with built-in themes but users are free to create their own.

Images

Images can be uploaded to JEMH Cloud and stored there, then referenced by 'alias' in Notification Templates using a custom velocimacro. When rendering HTML email content, URLs pointing to those images are injected from The Plugin People's Content Delivery Network (CDN).

Test Cases

Test Cases are emails in raw format, ideal for validating Profile configuration. Received emails can be converted to a Test Case or created from scratch and then 'run' against a given profile.

Data categories

JEMH Cloud tracks resource usage through Message Count and Data metrics. The JEMHC licensing screen allows administrators to monitor their usage. Messages are split into 4 categories:

  • Traffic In: Inbound messages that are processed successfully

    • Issue Created: An inbound inbound email creates an issue

    • Issue Commented: An inbound email generates a comment in an issue

  • Traffic Out: Outbound notifications JEMH Cloud creates in the 'normal' traffic flow

    • Notification Sent: The Email sent after receiving a webhook Event from Jira (e.g a user or JEMH Cloud created/commented an issue)

  • Maintenance In: Inbound messages that encounter problems during processing

    • Message Blacklisted: An processed inbound email has been blacklisted

    • Message Processing Error: An processed inbound email couldn't be processed due to an error

    • Limit Exceeded: An email can’t be processed as a limit has been reached (like Issue Comment Limit or Issue Comment Max Size)

    • Message Not Catch: An email cannot be processed as it didn't match any of the profile's catch email addresses

  • Maintenance Out: Outbound messages JEMH Cloud creates for maintenance reasons

    • Ping Sent: JEMH Cloud sends an email as result of the user testing Message Outbound configuration

    • Message Forwarded: JEMH Cloud forwards an email that can’t be processed (due to error, blacklisting, etc.)

Recent space activity

Space contributors