JEMH Processing Flow

 This page is intended to provide some background in how JEMH processing content, and generates notifications.

 

Email Processing

JIRA Mailbox monitoring and retrieval

JIRA owns the task of monitoring incoming mailboxes.  When mail is found, it is handed off to Mail Handlers that have been associated with the mailbox.

JEMH Profile Selection

When associating an incoming Mailbox with a JEMH Mail Handler, a pre-existing JEMH Profile must be selected, as this contains the configuration to be used for incoming mail.  Profiles can be shared across mailboxes if needed.

JEMH Incoming Mail Processing Flow

The sequence of processing is shown below, but doesn't fully.

Test Cases

When JEMH is invoked by JIRA, it generates an Audit Event, and stores the serialized incoming email message.  That message could have come from anywhere, created by a wide range of email clients.  JEMH uses the Javamail library to serialize the mail, this serialization largely retains the content that was supplied but has been known to actually fix problems introduced by buggy mail clients, giving rise the scenario that MailX fails but TestCaseX generated from MailX audit event serialised mail works.  Apart from that, the JEMH Test Case mechanism hooks straight into the exact processing chain that Production configurations would use, but is much faster to test.

Audit History Purging

Audit history purging can be problematic in high volume environments.  There are two modes of purging:

  • Auto Purge Successes; whereby, mail that is successfully processed is deleted as soon as processing is complete and no errors have been detected.  This is recommended in high volume environments.

  • Scheduled Purge; whereby all mail can be evaluated for purging.  This can be an expensive operation depending on:

    1. how far back the history is retained

    2. the quantity of mail present

    3. if the purge option 'retain failures' is set, as this requires every record to be retrieved and checked.