Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

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

    1. In your Chrome browser, click and then More tools > Developer tools (F12)

    2. Click the Console tab.

    3. Refresh the page with Jira issue and checklist opened

    4. 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 us

  • For 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:

  1. Navigate to Settings > System > Logging and Profiling

  2. Find the Default Loggers section

  3. Click the Configure button

  4. Add com.railsware.service.TemplateService package with DEBUG logging level

  5. Add com.railsware.service.ChecklistService package with DEBUG logging level

  6. Check that you have templates with different trigger types

  7. Once template was applied automatically to an issue check the atlassian-jira.log file

Migration logs

  • Location: /JIRA_HOME/log/smart-checklist-migration.log

OR

  • download via the link: /plugins/servlet/railsware/migrationlog

OR

  • download by the link on the Global Settings tab after Storage migration is completed

OR

  • download on the Import Checklists tab after migration from another app is completed

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

PUT https://[instance]/rest/railsware/1.0/checklist/-1/item 500
{errorMessage: "bundle [com.railsware.rw-smart-checklist-biz]"}

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

https://confluence.atlassian.com/jirakb/com-mysql-jdbc-exceptions-jdbc4-mysqlsyntaxerrorexception-references-command-denied-to-user-872266070.html

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

  1. Stop the Jira instance

  2. Delete the following hidden plugin cache directories (just these two):

    1. JIRA_HOME/plugins/.bundled-plugins

    2. JIRA_HOME/plugins/.osgi-plugins

  3. Restart JIRA

3

"Uncaught DOMException: Permission denied to access property "document" on cross-origin object" in the JavaScript”

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:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes at com.atlassian.activeobjects.internal.EntityManagedActiveObjects.migrate(EntityManagedActiveObjects.java:53) at com.railsware.ao.upgrade.v2.MigrateProjectTemplates.upgrade(MigrateProjectTemplates.java:59) at com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl$1.doInTransaction(ActiveObjectUpgradeManagerImpl.java:68) at

Reproduced on

  • Jira v7.6

  • MySQL DataBase v5.7

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

  • character_set_server=utf8mb4

  • innodb_large_prefix=ON

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.

  • Go to Issues → Custom Fields → search for ”Checklists“ field → Configure

  • Check Applicable contexts for scheme

  • Click “Edit Configuration”

  • Go to “Choose applicable context”

  • Make sure there selected  “Global context. Apply to all issues in Jira.”

  • Even if it is - Click “Modify

  • Now, the cloning should work properly

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

  1. 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 );

  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 query

  3. Delete 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 query

  4. Repeat step 2 and 3 (using "CHECKLIST_ID" = your value) as many times as there were templates found in the first query

Oracle

  1. 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 );

  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 query

  3. Delete 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 query

  4. Repeat step 2 and 3 (using "CHECKLIST_ID" = your value) as many times as there were templates found in the first query

MySQL

  1. 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 );

  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 query

  3. Delete 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 query

  4. Repeat step 2 and 3 (using "CHECKLIST_ID" = your value) as many times as there were templates found in the first query

Microsoft SQL

  1. 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 );

  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 query

  3. Delete 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 query

  4. Repeat 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!

  • No labels