...
Whilst technically compatible, we don’t yet have an export/import feature, logged as:
JEMH-7545 / JEMHC-2380
...
Message Filters
JEMH Server/DC notifications are not compatible with JEMHC.
In JEMH Server/DC notifications are driven by issue events from within Jira, in Cloud these don’t exist. As JEMHC receives only a subset of webhook notification types, the Jira notification scheme ceases to be useful. JEMHC re-imagines the requirements of notifications through Audiences (sourced from custom fields, and/or related to Jira User issue fields like reporter/assignee etc).
In JEMH Server/DC its possible to use regular expressions to match Project keys that should be handled through this particular Notification Mapping. In JEMHC, we avoid regular expressions and simplify things, enabling users to ‘pick’ all or nominated projects.
Transition Attachment Custom Field picker to allow
The Use the JEMH Transition Attachments Custom Field attachment picker for workflow transition screen has not yet been implemented in cloud, logged as:
JEMHC-3764
Status Notifications
This has not been implemented in cloud at this time.
Workflow Transition Attachments Custom Field
The Workflow Transition Attachments Custom Field used to select attachments to send in JEMH post-functions in JEMH Server/DC is not yet available in JEMH Cloud.
Template Sets
JEMH Server/DC templates are not compatible with JEMHC as the Velocity context driving the template renders are different.
In JEMH Server/DC notification templates relate to events fired by Jira, these are not directly applicable in Cloud (we get a much coarser granularity of create/update/commented events). Server/DC templates inherit effectively from the host Jira application - they use Jira provided macros and CSS.
Template Themes
JEMH Server/DC templates and CSS 'theme' content is not compatible with JEMHC.
In JEMH Server/DC the template/CSS all tie into macros and other templates that are internal to Jira. JEMH templates ‘are’ Jira templates and only with Jira IssueEvent
/TemplateIssue
objects, in JEMHC we have reimplemented Themes from scratch that work with the cloud specific Webhooks (the equivalent of issue events).
Custom Macros
Its possible for custom templates to be taken from a Jira Server/DC instance and loaded into JEMHC > Notifications > Templates > Custom Macros, doing so will allow those templates to be available to all custom Theme templates you define.
Images and Static Resources
JEMHC Server/DC support for Images uses static resources and specific helper methods in $jemhUtils
to render image links. In JEMHC we simply this, providing markup in the UI against all uploaded images. Static resources in JEMH can be exported, as yet we don’t have an export all feature.
JEMH-7546 / JEMHC-2383 : Add Export All / Import All actions to JEMH > Static Resources
Directive Sets
The definitions are compatible for migration but as yet we have not implemented this.
JEMH-7548 / JEMHC-2384 : Add Directive Set Export All / Import All (zip)
Test Cases
Test Cases can currently be exported and imported individually:
JEMH-7550 / JEMHC-2385 : Test Case Export All / Import ZIP
Auditing
No historic audit history will be retained during transition to cloud.
We don’t support migrating audit history from JEMH Server/DC to JEMHC as JEMH Server is able to retain unlimited volumes of data. In JEMHC (with customer opt-out) we can store the most recent 100 inbound and outbound messages for your diagnostic purposes.
Issue Association
Foreign Key Issue Association configuration in JEMHC is different due to the structure of the Profile.
In short, JEMHC restricts Issue Association in a Project Mapping, scoping to the mappings selected Project.
However, the default Project Mapping will not scope to the mappings selected Project, but any non-default mappings added that inherit the Foreign Key Issue Association will scope to the non-default mappings selected Project.
For further information, see https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/72908873/Understand+how+Issue+association+works#Regexp-foreign-key-association
Public REST API
JEMHC has yet to implement a public rest API as we have for DC (Use JEMH Public Rest API to Export, Import and Update profiles ). Whilst tilted as for Profiles, we also exposed a way to deliver Mail directly over REST, which was utilised by some 3rd party email client app integrations. Those integrations will need rework once we have a public API in JEMHC. We are tracking this feature interally as
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Migration Tasks
This section provides some advice for migrating from DC to Cloud.
A close replication of processing in DC can be achieved in Cloud but may not be identical (we do have a goal for functional equivalence, but there are different challenges in cloud. Customers should expect differences as part of this migration. We will happily take feedback through support for missing features, but cannot commit to implementing anything.
Documentation
We have structured App documentationfollowing the layout in the app, providing background on those features.
There is a Getting started guide, follow it to gain familiarity over round trip configuration requirements.
We have a large amount of How-to articles docs, we don’t expect you to dig for everything, ask us in support for guidance if keyword search doesn’t yield results!
Licensing
Customers and migrators should be aware of JEMHC App licensing , about How plan consumption is calculated and what happens when Capacity Plan Fully Consumed, and if required How to reduce MSG / Data volume.
Integration with Jira
JEMHC exists outside Jira, there is no ‘mail handler’ to pick as there was in DC. Configure JEMHC standalone via Apps from the main Jira toolbar.
Mailboxes
As JEMHC runs externally, customers must configure their own managed mailboxes in JEMHC (eg Gmail, o365, etc).
All mailbox connections must be (a) Authenticated (b) occur over SSL/TLS.
Common Questions
Can customers user their nnn.atlassian.net mailbox in JEMHC
No. Atlassian do not support 3rd party use, and we don’t support Atlassian mailboxes for that reason, never mind Atlassian will frequently rotate the creds involved.
Can customers use their own private mail server with privately issued/managed SSL certifciate chain
Yes, see SSL Certificate Chains. Using a privately defined certificate chain ensures that only this tenant can connect to that service, as JVM connections will not be be possible without that.
Postfunctions
These are a functional redo at the workflow level, see Workflow Post Function Notifications
Adhoc notifications
These are a functional redo. Cloud apps have an app-permission that needs to be granted in the Project Permission scheme to Use Ad hoc notifications.
System Notifications
See JEMHC > Licensing > System Notifications, there you can setup recipients who will be notified of system availability and usage.
Info |
---|
Outbound SMTP Connection It is a requirement for you to create a default outbound SMTP connector, regardless of whether issue notifications are expected to be sent. Be assured, no issue notifications will occur unless explicitly configured within JEMHC. If no such outbound is defined, any mail ‘not processed’ cannot be signalled via a “Forward mail” defined in the Profiles and so, the inbound queue will permanently block until manually solved. |
Notifications
See Getting started, it takes you through a fully functional bi-directional configuration, and links you to what you will need to learn in order to make any template customisations, specifically:
how to convert Webhook Events into a Preview Context for edit-time preview of notification Template Sets.
JEMHC Email notification mappings are how we do issue level notifications. Notifications in cloud are simplified, the rich event model is not available, you get Issue Created, Updated and Deleted. On a Per-project basis you can currently pick a template that is used for the audience you have defined.
Templates are wrapped in Themes , you can create separate Templates on a per theme basis.
Notifications will be sent to the first matching JEMHC Notification Mapping, so even a final “ALL” projects Notification Mapping will not trigger (a) a second notification (b) enable use of different templates.
Profiles
JEMHC Profiles learned a lot from JEMH Profile evolution and has ‘less’ configuration at the top (common to all Project Mappings), with most configuration existing within Project Mappings.
For convenience, many settings defined on the Default Project Mappings are inherited by other Project Mappings, where the defaults can be overridden. Some care is needed to avoid incorrect values in other Project Mappings,
Profiles must contain at least one Project Mapping (the default), which will be used by default. You can create additional Project Mappings for other Projects, and add Rules for when to use them.
If ‘simple’ Domain Rules (addresses) were used in DC, the equivalence is close, if no fancy JQL scripting support is required, happy days, you will get through this quite quickly.
Scripting is a feature in cloud but is severely restricted for security, ability is limited to manipulation/decisions based on the content of the email, there is no external communication possible (so no Jira JQL or similar).
Most Field Processors formats from DC are supported in cloud so there is Directivessupport to drive issue creation/update.
In DC we have the Regexp Field Processor, part of which was the management of a remote system ID used to ingest remote system mail to create and continue to update the same issue, in Cloud, this feature exists stand alone, see Regexp foreign key association on https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/72908873/Understand+how+Issue+association+works#Regexp-foreign-key-association .
As part of Project Mappings, like JEMH/DC, JEMHC has Custom Field Default feature (Set a dynamic custom field value ) to satisfy Jira workflow conditions and validators. As with scripting, the functionality of Custom Field Defaults is limited (either rendered via Velocity, based on email data) or scripted (again based on email data - during create, issue data available via webhook during update).
Body delimiters
A greatly used feature of JEMH/DC was the removal of replied-to email content. This feature exists in JEMHC within Project Mappings, see Handling signatures, replies and forwarded messages .
Auditing
When asking for support, get used to the inbound mail section of auditing, there is a ‘flag for support’ action, this sends us an email referring your instance, keeping your customer data in whatever deployment region is in use. We then use back office tools to pull that data down directly (securely) for support use. We do all this to minimise the spread of customer data where possible.
For the outlook users, please note that .MSG files are unusable by us, if you need to show MSG client side, use an annotated screenshot!had this section, in cloud it doesn’t exist as a section in its own right, the configuration has largely been implemented as settings within the Profile, mostly at the Profile level, for example:
Catchemail Address Filter doesn't exist, you can specify Profile > Catchemail Addresses, and set a Non-catch Email Action.
Status Notification Filter doesn’t exist as there is no Status Notification feature in cloud (nor in current JEMH DC versions)
X-Jira-Fingerprint Filter doesn’t exist as mail doesn’t come from Jira it comes from JEMHC, we do detect inbound mail sent by JEMHC as Precedence:bulk
Whitelisting/Blacklisting Filter is implicit by the global configuration existing, so can’t be opted out of
User Signup Filter doesn't exist as the User signup/configuration is not implemented in JEMHC
X-Spam-Flag Filter has been included through a more general feature, JEMHC > Profile > Drop Messages With Headers (Messages with a header matching a provided key-value pair will be silently dropped. Values can be regular expressions).
Notifications
JEMH Server/DC notifications are not compatible with JEMHC.
In JEMH Server/DC notifications are driven by issue events from within Jira, in Cloud these don’t exist. As JEMHC receives only a subset of webhook notification types, the Jira notification scheme ceases to be useful. JEMHC re-imagines the requirements of notifications through Audiences (sourced from custom fields, and/or related to Jira User issue fields like reporter/assignee etc).
In JEMH Server/DC its possible to use regular expressions to match Project keys that should be handled through this particular Notification Mapping. In JEMHC, we avoid regular expressions and simplify things, enabling users to ‘pick’ all or nominated projects.
Transition Attachment Custom Field picker to allow
The Use the JEMH Transition Attachments Custom Field attachment picker for workflow transition screen has not yet been implemented in cloud, logged as:
JEMHC-3764
Status Notifications
This has not been implemented in cloud at this time.
Workflow Transition Attachments Custom Field
The Workflow Transition Attachments Custom Field used to select attachments to send in JEMH post-functions in JEMH Server/DC is not yet available in JEMH Cloud.
Template Sets
JEMH Server/DC templates are not compatible with JEMHC as the Velocity context driving the template renders are different.
In JEMH Server/DC notification templates relate to events fired by Jira, these are not directly applicable in Cloud (we get a much coarser granularity of create/update/commented events). Server/DC templates inherit effectively from the host Jira application - they use Jira provided macros and CSS.
Template Themes
JEMH Server/DC templates and CSS 'theme' content is not compatible with JEMHC.
In JEMH Server/DC the template/CSS all tie into macros and other templates that are internal to Jira. JEMH templates ‘are’ Jira templates and only with Jira IssueEvent
/TemplateIssue
objects, in JEMHC we have reimplemented Themes from scratch that work with the cloud specific Webhooks (the equivalent of issue events).
Custom Macros
Its possible for custom templates to be taken from a Jira Server/DC instance and loaded into JEMHC > Notifications > Templates > Custom Macros, doing so will allow those templates to be available to all custom Theme templates you define.
Images and Static Resources
JEMHC Server/DC support for Images uses static resources and specific helper methods in $jemhUtils
to render image links. In JEMHC we simply this, providing markup in the UI against all uploaded images. Static resources in JEMH can be exported, as yet we don’t have an export all feature.
JEMH-7546 / JEMHC-2383 : Add Export All / Import All actions to JEMH > Static Resources
Directive Sets
The definitions are compatible for migration but as yet we have not implemented this.
JEMH-7548 / JEMHC-2384 : Add Directive Set Export All / Import All (zip)
Test Cases
Test Cases can currently be exported and imported individually:
JEMH-7550 / JEMHC-2385 : Test Case Export All / Import ZIP
Auditing
No historic audit history will be retained during transition to cloud.
We don’t support migrating audit history from JEMH Server/DC to JEMHC as JEMH Server is able to retain unlimited volumes of data. In JEMHC (with customer opt-out) we can store the most recent 100 inbound and outbound messages for your diagnostic purposes.
Issue Association
Foreign Key Issue Association configuration in JEMHC is different due to the structure of the Profile.
In short, JEMHC restricts Issue Association in a Project Mapping, scoping to the mappings selected Project.
However, the default Project Mapping will not scope to the mappings selected Project, but any non-default mappings added that inherit the Foreign Key Issue Association will scope to the non-default mappings selected Project.
For further information, see https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/72908873/Understand+how+Issue+association+works#Regexp-foreign-key-association
Public REST API
JEMHC has yet to implement a public rest API as we have for DC (Use JEMH Public Rest API to Export, Import and Update profiles ). Whilst tilted as for Profiles, we also exposed a way to deliver Mail directly over REST, which was utilised by some 3rd party email client app integrations. Those integrations will need rework once we have a public API in JEMHC. We are tracking this feature interally as
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Migration Tasks
This section provides some advice for migrating from DC to Cloud.
A close replication of processing in DC can be achieved in Cloud but may not be identical (we do have a goal for functional equivalence, but there are different challenges in cloud. Customers should expect differences as part of this migration. We will happily take feedback through support for missing features, but cannot commit to implementing anything.
Documentation
We have structured App documentationfollowing the layout in the app, providing background on those features.
There is a Getting started guide, follow it to gain familiarity over round trip configuration requirements.
We have a large amount of How-to articles docs, we don’t expect you to dig for everything, ask us in support for guidance if keyword search doesn’t yield results!
Licensing
Customers and migrators should be aware of JEMHC App licensing , about How plan consumption is calculated and what happens when Capacity Plan Fully Consumed, and if required How to reduce MSG / Data volume.
Integration with Jira
JEMHC exists outside Jira, there is no ‘mail handler’ to pick as there was in DC. Configure JEMHC standalone via Apps from the main Jira toolbar.
Mailboxes
As JEMHC runs externally, customers must configure their own managed mailboxes in JEMHC (eg Gmail, o365, etc).
All mailbox connections must be (a) Authenticated (b) occur over SSL/TLS.
Common Questions
We must whitelist access to our mailhost, what are the public JEMHC IP Addresses
See EU and DE app data location IP addresses to allow .
Can customers user their nnn.atlassian.net mailbox in JEMHC
No. Atlassian do not support 3rd party use, and we don’t support Atlassian mailboxes for that reason, never mind Atlassian will frequently rotate the creds involved.
Can customers use their own private mail server with privately issued/managed SSL certifciate chain
Yes, see SSL Certificate Chains. Using a privately defined certificate chain ensures that only this tenant can connect to that service, as JVM connections will not be be possible without that.
Postfunctions
These are a functional redo at the workflow level, see Workflow Post Function Notifications
Adhoc notifications
These are a functional redo. Cloud apps have an app-permission that needs to be granted in the Project Permission scheme to Use Ad hoc notifications.
System Notifications
See JEMHC > Licensing > System Notifications, there you can setup recipients who will be notified of system availability and usage.
Info |
---|
Outbound SMTP Connection It is a requirement for you to create a default outbound SMTP connector, regardless of whether issue notifications are expected to be sent. Be assured, no issue notifications will occur unless explicitly configured within JEMHC. If no such outbound is defined, any mail ‘not processed’ cannot be signalled via a “Forward mail” defined in the Profiles and so, the inbound queue will permanently block until manually solved. |
Notifications
See Getting started, it takes you through a fully functional bi-directional configuration, and links you to what you will need to learn in order to make any template customisations, specifically:
how to convert Webhook Events into a Preview Context for edit-time preview of notification Template Sets.
JEMHC Email notification mappings are how we do issue level notifications. Notifications in cloud are simplified, the rich event model is not available, you get Issue Created, Updated and Deleted. On a Per-project basis you can currently pick a template that is used for the audience you have defined.
Templates are wrapped in Themes , you can create separate Templates on a per theme basis.
Notifications will be sent to the first matching JEMHC Notification Mapping, so even a final “ALL” projects Notification Mapping will not trigger (a) a second notification (b) enable use of different templates.
Profiles
JEMHC Profiles learned a lot from JEMH Profile evolution and has ‘less’ configuration at the top (common to all Project Mappings), with most configuration existing within Project Mappings.
For convenience, many settings defined on the Default Project Mappings are inherited by other Project Mappings, where the defaults can be overridden. Some care is needed to avoid incorrect values in other Project Mappings,
Profiles must contain at least one Project Mapping (the default), which will be used by default. You can create additional Project Mappings for other Projects, and add Rules for when to use them.
If ‘simple’ Domain Rules (addresses) were used in DC, the equivalence is close, if no fancy JQL scripting support is required, happy days, you will get through this quite quickly.
Scripting is a feature in cloud but is severely restricted for security, ability is limited to manipulation/decisions based on the content of the email, there is no external communication possible (so no Jira JQL or similar).
Most Field Processors formats from DC are supported in cloud so there is Directivessupport to drive issue creation/update.
In DC we have the Regexp Field Processor, part of which was the management of a remote system ID used to ingest remote system mail to create and continue to update the same issue, in Cloud, this feature exists stand alone, see Regexp foreign key association on https://thepluginpeople.atlassian.net/wiki/spaces/JEMHC/pages/72908873/Understand+how+Issue+association+works#Regexp-foreign-key-association .
As part of Project Mappings, like JEMH/DC, JEMHC has Custom Field Default feature (Set a dynamic custom field value ) to satisfy Jira workflow conditions and validators. As with scripting, the functionality of Custom Field Defaults is limited (either rendered via Velocity, based on email data) or scripted (again based on email data - during create, issue data available via webhook during update).
Body delimiters
A greatly used feature of JEMH/DC was the removal of replied-to email content. This feature exists in JEMHC within Project Mappings, see Handling signatures, replies and forwarded messages .
Auditing
When asking for support, get used to the inbound mail section of auditing, there is a ‘flag for support’ action, this sends us an email referring your instance, keeping your customer data in whatever deployment region is in use. We then use back office tools to pull that data down directly (securely) for support use. We do all this to minimise the spread of customer data where possible.
For the outlook users, please note that .MSG files are unusable by us, if you need to show MSG client side, use an annotated screenshot!
Audit records for Mail (in/out) are retained for a rolling 30d window. Mail less than 10MB of size is retained as part of this process, larger mail is not retained. If there is a failure to process such large mails, JEMHC cannot recover, your mailhost is the only possible backup.
Events are retained for an hour or so, to limit data exposure. If you need to get a Preview Context, regenerate the event and capture it.