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 |
---|---|---|
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. |