Is it possible to have Checklist for JIRA Checklists not show when all are unchecked?

Hi all

With a normal JIRA Checklist this will not appear on the View Screen it is unchecked.    Currently even if a Checklist for JIRA Checklist is completely unchecked, it will still appear on the view screen.

I have considered using tabs, but what I would like is for these tabs to be displayed only at a certain point in the workflow.  However this does not work if the Checklist for JIRA items are always visible.  Refer below screenshot

Note:  I currently have these checklists to display only the first 2 items - however this is a workaround.   For some checklists there are over 10 items, and some have 4 (that's the minimum number btw)

image2016-5-16 16:2:18.png

Any ideas?

3 answers

1 accepted

Hi Lyn,

Checklist has been created for exactly that reason: to see all items in view mode. People were annoyed with the standard approach of the JIRA Checkbox field where it would only show the "checked" items.

The reason why you have items displayed is because they are options. When a checklist doesn't have any options, it will remain hidden in the view screen until items have been added to it in the edit screen.

However, if you want to have items to only appear at certain steps in your workflow, you could remove the options and use the workflow post-function to add items at the proper workflow step. By having no options, the checklist would be hidden and items would appear when the workflow step is triggered. That may help alleviate your problem a little bit.

Thanks I will try that.   I had just read that post function but hadn't thought my through on how to use it .

A followup to this, if you don't mind.   I have some 60K worth of issues that are using various Checklist fields, so I can not just remove the options in field configuration.   If I do, I will remove these fields from all issues that are using them.    This is not something I want to do.

Instead of deleting, I have disabled the option.  This has the net effect of making them still visible for existing issues but hiding them from new ones.   So part of the problem solved.     However, now comes my problem.

When I try to use the "Modify Checklist" Workflow Post function to add values to the checklist during a transition it just hangs.  It seems like JIRA is not quite sure how to cope with this situation.   This is now happening on any transition regardless of whether or not the Checklist Workflow function is being used.  

Any ideas?

 

Can you take a look at the JIRA log file and note any exceptions that Checklist would throw? Also, can you do a print screen of you Checklist post-workflow parameters and post it?

I think (but am not positive) I know what happened.   When adding the items to append in the worklow function I am not sure I added any (ie didn't press enter after pasting them in ) or alternatively had multiple in the same line.  I have deleted the inactive workflow so can not say for sure.   In any case I have attached below the image of a new workflow function I just created.

.  Workflow Function.PNG

Also here is the text from the log my support team gave me. If you can confirm that this was the error would be good. 

<+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter

(PrettyUrlsSiteMeshFixupFilter.java:36)  <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42)

(DelegatingPluginFilter.java:70)  at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter

(PrettyUrlsDispatcherFilter.java:60)  <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42)

(DelegatingPluginFilter.java:70)  at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92)

 <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) 

<+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  at com.intenso.jira.contentinjection.filter.ContentInjectionFilter.doFilter

(ContentInjectionFilter.java:71)  <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42)

(DelegatingPluginFilter.java:70)  at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36)  <+26>

(DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77)

(ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241)

(ApplicationFilterChain.java:208) (AccessLogFilter.java:107) (AccessLogFilter.java:91)

(ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (XsrfTokenAdditionRequestFilter.java:54)

(ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SiteMeshFilter.java:181)

(SiteMeshFilter.java:85) (SitemeshPageFilter.java:124) (ApplicationFilterChain.java:241)

(ApplicationFilterChain.java:208) (PageBuilderFilter.java:90) (ApplicationFilterChain.java:241)

(ApplicationFilterChain.java:208) (CommittedResponseHtmlErrorRecoveryFilter.java:63)

(ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46)

(DelegatingPluginFilter.java:70)  at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter

(PrettyUrlsCombinedMatchDispatcherFilter.java:61)  <+22> (DelegatingPluginFilter.java:78)

(IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77)

(ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241)

(ApplicationFilterChain.java:208) (SecurityFilter.java:239) (ApplicationFilterChain.java:241)

(ApplicationFilterChain.java:208) (TrustedApplicationsFilter.java:100) (ApplicationFilterChain.java:241)

(ApplicationFilterChain.java:208) (BaseLoginFilter.java:172) (JiraLoginFilter.java:70)

(ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46)

(DelegatingPluginFilter.java:70) (OAuthFilter.java:79) (DelegatingPluginFilter.java:78)

(IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter

(PrettyUrlsCombinedMatchDispatcherFilter.java:61)  <+13> (DelegatingPluginFilter.java:78)

(IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77)

(ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241)

(ApplicationFilterChain.java:208) (ProfilingFilter.java:99) (JIRAProfilingFilter.java:19)

(ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractJohnsonFilter.java:71)

(ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208)  at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)  at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)  at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)  <+5>

(UrlRewriteFilter.java:394) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208)

(IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70)  at com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter(JiraAnalyticsFilter.java:40)  at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)  <+3>

(DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter

(PrettyUrlsCombinedMatchDispatcherFilter.java:61)  <+3> (DelegatingPluginFilter.java:78)

(IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:201)  at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:178)  at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:85)  at net.bull.javamelody.JiraMonitoringFilter.doFilter(JiraMonitoringFilter.java:105)  <+46>

(DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77)

(ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241)

(ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (ApplicationFilterChain.java:241)

(ApplicationFilterChain.java:208) (AbstractCachingFilter.java:33) (AbstractHttpFilter.java:31)

(ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractEncodingFilter.java:41)

(AbstractHttpFilter.java:31) (PathMatchingEncodingFilter.java:49) (AbstractHttpFilter.java:31)

(ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (JiraStartupChecklistFilter.java:79)

(ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (MultipartBoundaryCheckFilter.java:41)

(ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87)

(JiraFirstFilter.java:61) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208)

(GzipFilter.java:115) (GzipFilter.java:92) (JiraGzipFilter.java:56) (ApplicationFilterChain.java:241)

(ApplicationFilterChain.java:208) (StandardWrapperValve.java:220) (StandardContextValve.java:122)

(AuthenticatorBase.java:501) (StandardHostValve.java:171) (ErrorReportValve.java:103)

(StandardEngineValve.java:116) (AccessLogValve.java:950) (CoyoteAdapter.java:408)

(AbstractHttp11Processor.java:1070) (AbstractProtocol.java:611) (NioEndpoint.java:1736)

(NioEndpoint.java:1695)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)  at java.lang.Thread.run(Thread.java:745) Caused by: java.util.NoSuchElementException  at java.util.TreeMap.key(TreeMap.java:1327)  at java.util.TreeMap.firstKey(TreeMap.java:290)  at java.util.TreeSet.first(TreeSet.java:394)  at com.atlassian.jira.web.action.issue.util.ScreenTabErrorHelper.initialiseTabsWithErrors

(ScreenTabErrorHelper.java:68)  at com.atlassian.jira.web.action.issue.CommentAssignIssue.initTabsWithErrors

(CommentAssignIssue.java:145)  ... 344 more 2016-05-17 02:05:11,059 http-nio-443-exec-7 ERROR farnanl 125x9546x1 1aubi7n 10.5.14.143

/secure/CommentAssignIssue.jspa [customfields.workflow.functions.ChecklistFunction] Could not deserialize

checklist item

 

 

Hi Lyn,

It looks like the checklist data could not be deserialized properly (last line of the log) so it was most likely corrupted data like you suspected.

Is the new workflow post function now works?

Hi

Can you send provide me a direct email address, I will be able to send you attachments that I am having problems uploading.

Problem 1 resolved but I still have issues.    The post function is working sort of.... well at least it is no longer hanging.   However I know have other problems

a) Field options are showing, even though they are disabled

  1.  Disabled the checklist options in field configuration
  2. Checked to see if the field / options were visible for existing issues
  3. Checked  to see if the field / options were visible for new issues

Note this seemed to working as expected, and then stopped working.   I have triple checked all configurations and screens but the fields are populated regardless of whether or not  the options are disabled or not.  I am going to get a service restart done to see if that makes a difference

b) although the workflow is no longer hanging, it is also not working as I would expect. 

  1. When I select Append, the options in the post function are not being appended to the field
  2. When I select Replace, the options in the post function are not replacing the content of the field

 

Suggest an answer

Log in or Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Bridget Sauer
Published yesterday in Marketplace Apps

Calling all developers––You're invited to Atlas Camp 2018

 Atlas Camp   is our developer event which will take place in Barcelona, Spain  from the 6th -7th of   September . This is a great opportunity to meet other developers and get n...

72 views 0 5
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you