Jira Issue updates are sent to Salesforce in configurable batches. Specifically, JIRA notifies Salesforce with a list of Issues which have been updated. This list comprises of Issues which have related Salesforce Case(s) and have one or more fields updated which are shared with Salesforce via zAgileConnect configuration. Salesforce receives this batch of updated Issues list and initiates a request to JIRA for details for all the Issues in the batch. Once the details (updated Issue fields) are received, they are updated in the local ZIssue object in Salesforce to bring ZIssue data current with what is represented in JIRA for each Issue.
Failures in Issue Updates to Salesforce
Under normal circumstances, the Issue Update Notifications are sent to Salesforce and applied on a regular configurable interval. However, some scenarios may cause these notifications to fail:
- Network timeouts – If JIRA is unable to send the notifications to Salesforce due to network-related issues (typically timeouts), zAgileConnect’s Issue Update Notification will be retried at configurable intervals.
- Failing Custom ZIssue Triggers – If a custom trigger on ZIssue fails on some validation without properly handling the exception, it can cause the entire batch to fail updating ZIssue. In such scenario, while the Issue Update Notification will continue to be retried, unless the trigger is corrected, the batch update will continue to fail. The failure of this batch will also cause all subsequent updates to be queued but not applied to Salesforce. Customers may choose to discard such batches of updates after some configurable number of retries to allow subsequent batches to be sent to Salesforce. However, without resolving the trigger failure, discarding the updates will cause inconsistency between the Issue data in JIRA and its representation in ZIssue in Salesforce.
Configuring Issue Update Notifications
To address these types of failures, zAgileConnect provides a number of configurable settings for regulating Issue Update Notifications to Salesforce, as shown below.
Interval between successive issue events sent to Salesforce – This setting controls how often Issue Update notifications should be sent to Salesforce. The default value is 10 seconds.
Delay interval between issue update event notification and Issue update in Salesforce – This setting controls the minimal wait time (pause) between Issue update events and the notification sent to Salesforce for these events. A value of 0 for this setting would indicate that Issue update events must be sent to Salesforce immediately. For Jira Data Center, due to the lag time typically associated with node synchronization, we recommend this value to be > 0s (default 5s). For more on this, please refer to Integrating Salesforce with Jira Data Center
Max number of issue events sent to Salesforce per request – This setting determines the size of the batch containing the list of Issues updated in JIRA for which Salesforce is to be notified. Salesforce will request updated information for all Issues in this batch to apply to ZIssue. The default value is 75.
Discard events after Max number of retries is reached – You may optionally choose to discard failed batches so as to continue with the subsequent updates. The list of JIRA Issues for which the update to ZIssue in Salesforce failed is sent via email to allow you to sync them manually, using the Batch Sync option provided in the zAgileConnect SF package. This option is disabled by default.
Max number of retries – This option controls the number of times Issue Update Notification to Salesforce should be attempted before either discarding or stopping.
Configuring Email Notification Parameters
After configurable number of retries, failed Issue Update Notifications may be received via email, along with the list of Issue Keys. The following parameters are available for configuring the email address, the interval for receiving such notifications, as well as the format.
Send Notifications by Email to – The email address to which Issue Update Notification failures will be sent
Interval between Notifications by Email – The interval between such email notifications in hours. No notification will be sent for any error that occurs during this interval.
Default Notification email format – The default format for such email notifications (text or HTML)
Following are examples of such an email in text/HTML, showing the list of issues in a batch that failed in updating ZIssue in Salesforce: