JEMH Processing Diagrams

JEMH Processing is expanding all the time. The following diagram is aimed to illustrate how various areas work together in the processing of email, comments welcome!

How mail gets delivered to JEMH plugin

JIRA is responsible for connectivity to the mail-server through Inbound Mailbox configuration. Once setup, an Inbound Mail Handler configuration can be made, in which, for JEMH, the pre-created JEMH Profile to be used can be selected.

JEMH Mail Processing Pipeline

Processing broadly follows the following sequence:

  • Filters - checking for catchemail address, blacklisted senders etc.

  • Field Processor election - where each configured Field Processor takes a bash at processing the email. The winner in general is the one that found the most directives. Weighted results are applied for specific matching, eg Regexp Field processor where the sender address is specifically identified as a source for that handler.

  • Field Processor execution, whereby provided values are augmented with defaults, or configuration is applied to manipulate how the issue/comment is created (e.g. Project Mappings), specific to the Profile

  • Issue Creation or commenting, triggering an Issue Creation or Issue Updated event, or if configured a Generic Issue Event.

  • In addition to the JIRA managed notifications, JEMH can also notify any combination of non-jira or JIRA recipients regarding issue creation.

 

JEMH Email Notifications

JEMH genrates several categories of notification

Category

Cause

Description

Category

Cause

Description

Notification

Issue Created

JEMH Profiles can determine if non-jira/JIRA users receieve an issue created event. This is over and above JIRA issue notification

Notification

Unhandled Application Errors

IF JEMH encounters an application error (perhaps a bug, or a precedence:bulk message), the mail is forwarded so that the mail queue does not block due to the (expected) repeatable processing failure

Hints

Incorrect Data provided

If users provide directives that are incorrect that do not result in out and out rejection, or an operation is attempted for which they are not authorized (Strict JIRA security enabled), then a hintOgram message will be send the the original email sender. If desired, the recipient can be overridden through the profile

Rejection

JEMH is not configured correctly

When JEMH cannot locate a project, create an issue due to security or locate a reporter if a reporter is required, then the email will be rejected, and a hintOgram sent back to the user indicating this. If desired, the recipient can be overridden through the profile

JIRA Notifications

Issue Event fired

JEMH Issue Listener can selectively enable issue events for issue events that affect a particular project, and can locate recipients through a referred JIRA Notification Scheme. As JEMH Template Sets are available, this allows all default Issue Notifications to be customized if required without restarting JIRA.

NON-JIRA Notifications

Issue Event fired

JEMH Issue Listener can selectively enable issue events for issue events that affect a particular project, and can locate recipients through a referred TEXT custom field that is expected to contain CSV email addresses of non JIRA users. These users can receive customized notifications as needed.