...
Problem | Probable Cause | Possible Solution | |||
---|---|---|---|---|---|
1 | Not able to add new checklist items. Here is what is logged in the browser consolde
| This error can happen anytime the database user has not be granted the needed permissions, and JIRA is expected to create a new foreign key constraint. Explained here | Grant proper permisisons to Jira User by executing SQL command
Note: you can use 3rd party addon, like Database Explorer in order to execute these queries | ||
2 | Checklist statuses are not available | Conflict with settigns left after prevous version of Smart Addon that was installed on this instance |
| ||
3 |
message appears when trying an import checklist from a Template Jira version 8.12 | Known bug introduced by Atlassian in Jira v 8.12 Fixed in Jira 8.12.3, 8.13.1 More details: https://jira.atlassian.com/browse/JRASERVER-71747 | Upgrade your Jira to 8.12.3, 8.13.1 or higher version. | ||
4 | Checklist item could not be added. The following error shown in Jira log:
Reproduced on
| MySQL DB was not set properly | Check if mysql DB has set as suggested by Atlassian: https://confluence.atlassian.com/adminjiraserver/connecting-jira-applications-to-mysql-5-7-966063305.html Especially
| ||
5 | Using “Clone” Issue doesn’t copy “Checklists” field content to the newly created issue. | “Checklists” field is not added to the Projects, where Clone operation is executed. |
Note: For users who started using checklist fro m version 5.5.0 that should already been fixed. |
How to fix the duplication of checklist items that happened after applying a template?
The issue is reproduced if a template was created using app version 7.0.0, and if a template was created by saving a checklist from the issue view.
Please execute those queries one by one (based on your type of database):
PostgreSQL
Detect templates with duplicated items
SELECT "ID" as tempalte_id, "NAME" as template_name, "CHECKLIST_ID" as "CHECKLIST_ID" FROM "AO_C2A220_TEMPLATE" acat
WHERE "CHECKLIST_ID" IN (
SELECT sub."CHECKLIST_ID"
FROM ( SELECT "CHECKLIST_ID", "VALUE", COUNT("VALUE") AS count_values
FROM "AO_C2A220_ITEM" acai
GROUP BY "CHECKLIST_ID", "VALUE"
) AS sub
GROUP BY sub."CHECKLIST_ID"
HAVING COUNT(sub."VALUE") = SUM(sub.count_values) / 2 );
Delete item details. The checklist ids can be found in result of the first query.
delete from "AO_C2A220_QUOTE" where "ITEM_ID" in (
select min from( SELECT MIN("ID"),"CHECKLIST_ID", "VALUE", COUNT("VALUE") AS count_values
FROM "AO_C2A220_ITEM" acai
GROUP BY "CHECKLIST_ID", "VALUE"
having COUNT("VALUE") > 1
-- and "CHECKLIST_ID" = 11 -- ADD THIS CONDITION ALSO TO delete checklist by checklist, not all at once ) ) ;
where for"CHECKLIST_ID" = 11
replace 11 with the value from the first queryDelete duplicate items. The checklist ids can be found in result of the first query.
delete from "AO_C2A220_ITEM" where "ID" IN(
select min from(
SELECT MIN("ID"),"CHECKLIST_ID", "VALUE", COUNT("VALUE") AS count_values
FROM "AO_C2A220_ITEM" acai
GROUP BY "CHECKLIST_ID", "VALUE"
having COUNT("VALUE") > 1
-- and "CHECKLIST_ID" = 11 -- ADD THIS CONDITION ALSO TO delete checklist by checklist, not all at once ) );
where for"CHECKLIST_ID" = 11
replace 11 with the value from the first queryRepeat step 2 and 3 (using
"CHECKLIST_ID" = your value)
as many times as there were templates found in the first query
Oracle
Detect templates with duplicated items
SELECT "ID" AS template_id, "NAME" AS template_name, "CHECKLIST_ID"
FROM "AO_C2A220_TEMPLATE" acat
WHERE "CHECKLIST_ID" IN (
SELECT sub."CHECKLIST_ID"
FROM (
SELECT "CHECKLIST_ID", "VALUE", COUNT("VALUE") AS count_values
FROM "AO_C2A220_ITEM" acai
GROUP BY "CHECKLIST_ID", "VALUE"
) sub
GROUP BY sub."CHECKLIST_ID"
HAVING COUNT(sub."VALUE") = SUM(sub.count_values) / 2 );
Delete item details. The checklist ids can be found in the result of the first query.
DELETE FROM "AO_C2A220_QUOTE"
WHERE "ITEM_ID" IN (
SELECT min_id FROM (
SELECT MIN("ID") AS min_id, "CHECKLIST_ID", "VALUE", COUNT("VALUE") AS count_values FROM "AO_C2A220_ITEM" acai
GROUP BY "CHECKLIST_ID", "VALUE"
HAVING COUNT("VALUE") > 1
-- AND "CHECKLIST_ID" = 11 ) );
where for"CHECKLIST_ID" = 11
replace 11 with the value from the first queryDelete duplicate items. The checklist ids can be found in the result of the first query.
DELETE FROM "AO_C2A220_ITEM"
WHERE "ID" IN (
SELECT min_id FROM (
SELECT MIN("ID") AS min_id, "CHECKLIST_ID", "VALUE", COUNT("VALUE") AS count_values FROM "AO_C2A220_ITEM" acai
GROUP BY "CHECKLIST_ID", "VALUE"
HAVING COUNT("VALUE") > 1
-- AND "CHECKLIST_ID" = 11 ) );
where for"CHECKLIST_ID" = 11
replace 11 with the value from the first queryRepeat step 2 and 3 (using
"CHECKLIST_ID" = your value)
as many times as there were templates found in the first query
MySQL
Detect templates with duplicated items
SELECT `ID` AS template_id, `NAME` AS template_name, `CHECKLIST_ID`
FROM `AO_C2A220_TEMPLATE` acat
WHERE `CHECKLIST_ID` IN (
SELECT sub.`CHECKLIST_ID`
FROM (
SELECT `CHECKLIST_ID`, `VALUE`, COUNT(`VALUE`) AS count_values
FROM `AO_C2A220_ITEM` acai
GROUP BY `CHECKLIST_ID`, `VALUE`
) sub
GROUP BY sub.`CHECKLIST_ID`
HAVING COUNT(sub.`VALUE`) = SUM(sub.count_values) / 2 );
Delete item details. The checklist ids can be found in the result of the first query.
DELETE FROM `AO_C2A220_QUOTE`
WHERE `ITEM_ID` IN (
SELECT min_id FROM (
SELECT MIN(`ID`) AS min_id, `CHECKLIST_ID`, `VALUE`, COUNT(`VALUE`) AS count_values FROM `AO_C2A220_ITEM` acai
GROUP BY `CHECKLIST_ID`, `VALUE`
HAVING COUNT(`VALUE`) > 1
-- AND `CHECKLIST_ID` = 11 ) AS subquery );
where for"CHECKLIST_ID" = 11
replace 11 with the value from the first queryDelete duplicate items. The checklist ids can be found in the result of the first query.
DELETE FROM `AO_C2A220_ITEM`
WHERE `ID` IN (
SELECT min_id FROM ( SELECT MIN(`ID`) AS min_id, `CHECKLIST_ID`, `VALUE`, COUNT(`VALUE`) AS count_values
FROM `AO_C2A220_ITEM` acai
GROUP BY `CHECKLIST_ID`, `VALUE`
HAVING COUNT(`VALUE`) > 1
-- AND `CHECKLIST_ID` = 11 ) AS subquery );
where for"CHECKLIST_ID" = 11
replace 11 with the value from the first queryRepeat step 2 and 3 (using
"CHECKLIST_ID" = your value)
as many times as there were templates found in the first query
Microsoft SQL
Detect templates with duplicated items
SELECT [ID] AS template_id, [NAME] AS template_name, [CHECKLIST_ID]
FROM [AO_C2A220_TEMPLATE] acat
WHERE [CHECKLIST_ID] IN (
SELECT sub.[CHECKLIST_ID]
FROM (
SELECT [CHECKLIST_ID], [VALUE], COUNT([VALUE]) AS count_values
FROM [AO_C2A220_ITEM] acai
GROUP BY [CHECKLIST_ID], [VALUE]
) sub
GROUP BY sub.[CHECKLIST_ID]
HAVING COUNT(sub.[VALUE]) = SUM(sub.count_values) / 2 );
Delete item details. The checklist ids can be found in the result of the first query.
DELETE FROM [AO_C2A220_QUOTE]
WHERE [ITEM_ID] IN (
SELECT min_id FROM (
SELECT MIN([ID]) AS min_id, [CHECKLIST_ID], [VALUE], COUNT([VALUE]) AS count_values FROM [AO_C2A220_ITEM] acai
GROUP BY [CHECKLIST_ID], [VALUE]
HAVING COUNT([VALUE]) > 1
-- AND [CHECKLIST_ID] = 11 ) AS subquery );
where for"CHECKLIST_ID" = 11
replace 11 with the value from the first queryDelete duplicate items. The checklist ids can be found in the result of the first query.
DELETE FROM [AO_C2A220_ITEM]
WHERE [ID] IN (
SELECT min_id FROM (
SELECT MIN([ID]) AS min_id, [CHECKLIST_ID], [VALUE], COUNT([VALUE]) AS count_values FROM [AO_C2A220_ITEM] acai
GROUP BY [CHECKLIST_ID], [VALUE]
HAVING COUNT([VALUE]) > 1
-- AND [CHECKLIST_ID] = 11 ) AS subquery );
where for"CHECKLIST_ID" = 11
replace 11 with the value from the first queryRepeat step 2 and 3 (using
"CHECKLIST_ID" = your value)
as many times as there were templates found in the first query
How can you help a team to better troubleshoot an error
...