How to fix missing lingo ID error when exporting a project in Configuration Manager for Jira

Problem

Unable to retrieve lingo id.

Error:

Unable to retrieve lingo id for Default Notification Rule for Project with id '18475' com.botronsoft.jira.jiraservicedeskintegration.api.ServiceDeskIntegrationException: Unable to retrieve lingo id for Default Notification Rule for Project with id '18475' at com.botronsoft.jira.jiraservicedeskintegration.proxy.impl.CustomerNotificationSettingsProxyImpl40.retrieveLingoIdByLogicalId(CustomerNotificationSettingsProxyImpl40.java:391)

Solution

The error reported indicates that there is a reference to a missing lingo in any default notification rules.

As it is almost impossible to find the root cause from the UI, verify the database content from the following tables:

  1. AO_C7F17E_LINGO

  2. AO_9B2E3B_THEN_ACT_CONF_DATA

The second table above contains a row with CONFIG_DATA_KEY = "lingoLogicalId" with no corresponding match in the column LOGICAL_ID of AO_C7F17E_LINGO.

Here is the SQL query:

SELECT THEN_ACTION_CONFIG_ID FROM AO_9B2E3B_THEN_ACT_CONF_DATA WHERE CONFIG_DATA_KEY = 'lingoLogicalId' and CONFIG_DATA_VALUE NOT IN (SELECT LOGICAL_ID FROM AO_C7F17E_LINGO WHERE LOGICAL_ID IS NOT NULL);

This script returns the THEN_ACTION_CONFIG_ID's of all problematic records in AO_9B2E3B_THEN_ACT_CONF_DATA. The problem with these records is that they point to an unexisting lingo in AO_C7F17E_LINGO. They use the CONFIG_DATA_VALUE column and a lingo's LOGICAL_ID to refer to a specific lingo. This means that the logical id in the CONFIG_DATA_VALUE column of these records is invalid. This needs to be changed to point to an existing lingo record using its LOGICAL_ID.

Check what all lingos are available the specific Jira instance and their logical IDs with the following query:

SELECT * FROM AO_C7F17E_LINGO;

Even after running a query from this table "AO_C7F17E_LINGO", if it returns null for Logical_ID, then a check can be done through the Jira UI if and which notification rules work, and if they are actually needed. A potential solution is to delete the records from AO_9B2E3B_THEN_ACT_CONF_DATA and update the notification rules manually in Jira.

Before making any changes in the database like delete, update, etc., it is suggested to take the full backup of the database.

There is a little step-by-step guide that can be followed:

  • Delete the record in AO_9B2E3B_THEN_ACT_CONF_DATA that refers to the specific lingo.

  • Clear caches from CMJ's Advanced page.

  • Run an Integrity check and see if there are any errors.

The idea here is that the Lingo table’s contents are missing. There are references to it from AO_9B2E3B_THEN_ACT_CONF_DATA. These broken references need to be broken in AO_9B2E3B_THEN_ACT_CONF_DATA, then make Jira repopulate the default rules by editing them manually in the UI. This should update the AO_9B2E3B_THEN_ACT_CONF_DATA and AO_C7F17E_LINGO.

Â