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 you are reporting indicates that there is a reference to a missing lingo in any of the default notification rules.
This could be impossible to trace in the UI, so better check the content of the following tables:
FROM AO_C7F17E_LINGO
and
AO_9B2E3B_THEN_ACT_CONF_DATA
The second will contain a row with CONFIG_DATA_KEY = "lingoLogicalId" which is not found in the column LOGICAL_ID of AO_C7F17E_LINGO.
A single select 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 will return 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. You have to change it to point to an existing lingo record using its LOGICAL_ID.
You can check what lingos are available in your Jira and their logical id's with the following query:
SELECT * FROM AO_C7F17E_LINGO;
Even after running query from this table "AO_C7F17E_LINGO"
if it returns null for Logical_ID, then
you can check through the Jira UI if and which notification rules work, and if you actually need them. A potential solution is to delete the records from AO_9B2E3B_THEN_ACT_CONF_DATA and update the notification rules manually in Jira.
In any case, we'd recommend to backup AO_9B2E3B_THEN_ACT_CONF_DATA first. backup AO_9B2E3B_THEN_ACT_CONF_DATA first. There is a little step-by-step guide that you can follow:
Delete the record in AO_9B2E3B_THEN_ACT_CONF_DATA that refers to the specific lingo (in this case '18475')
Clear caches from CMJ's Advanced page.
Run Integrity check and check if there are any errors.
The idea here is that Lingo table contents are missing. There are references to it from AO_9B2E3B_THEN_ACT_CONF_DATA. We want to delete the broken references 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.