How can you help our team to better troubleshoot an error
Provide a description of your environment
let us know if you are on Cloud or Jira Server/Data Center
provide us with your Jira Server/Data Center version
provide us with the Smart Checklist add-on version
click Cog icon → Manage apps → Manage apps → find Smart Checklist section → expand and check “Version”
make screenshots, screen recordings of the checklist behavior that you think are not valid
Getting Browser Logs
Open Browser Console Log and make a screenshot of errors
In your Chrome browser, click and then More tools > Developer tools (F12)
Click the Console tab.
Refresh the page with Jira issue and checklist opened
to check for any errors in the console and send them to us as screenshots or screencasts
Generate.HAR file following these instructions from Atlassian and send to us.
Getting Jira Server/Data Center Logs
Go to the directory where you have installed Jira on your server. Find the Jira logs & share
atlassian-jira.log
file with usFor UNIX server: If the directory name is Jira. You can access
Jira/home/log/atlassian-jira.log
. In case you do not find the files, trigger the below commands in the UNIX terminal which would fetch the list of logs files path.find / -name "atlassian-jira.log" 2>/dev/null
For Windows server: You can access log
C:\Program Files\Atlassian\Application Data\JIRA\log\atlassian-jira.log
Getting extended logs for templates applied by the trigger
Since version 6.1.0 Smart Checklist for Jira Server and Data Center it is possible to add debug logging that will help to troubleshoot issues with automatically applied templates.
In order to enable debug logging please follow below steps:
Navigate to Settings > System > Logging and Profiling
Find the Default Loggers section
Click the Configure button
Add
com.railsware.service.TemplateService
package withDEBUG
logging levelAdd
com.railsware.service.ChecklistService
package withDEBUG
logging levelCheck that you have templates with different trigger types
Once template was applied automatically to an issue check the
atlassian-jira.log
file
The most common issues with the way how to troubleshoot them, and possible solutions.
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 GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,ALTER,INDEX on <JIRADB>.* TO '<USERNAME>'@'<JIRA_SERVER_HOSTNAME>' IDENTIFIED BY '<PASSWORD>'; 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
Book a Support or Demo session
https://calendly.com/smart-checklist-support
Choose a proper area, a suitable time slot, and book a call. Our team will be happy to help you!
📫 Don’t hesitate to get in touch with us for any questions or feature requests!