Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,298,170
Community Members
 
Community Events
165
Community Groups

NoClassDefFoundError for 'Automation for JIRA' plugin after JSD installation

Edited

Installed JIRA Service desk (100 lic) on a server already running JIRA (250 lic). All plugins are at 250 lic as well.

Everything else is working fine, but 'Automation for JIRA' refuses to load and throws a 500 error after this. Tried disable and re-enable on the plugin, didn't work.

Anyone knows the fix please? Pls help.

/secure/AutomationWelcomeAction!iframe.jspa [c.c.j.p.automation.web.AutomationWelcomeAction] Unexpected error loading welcome UI:
java.lang.NoClassDefFoundError: com/atlassian/servicedesk/api/ServiceDeskService
	at com.codebarrel.jira.servicedesk.ServiceDeskServiceResolver.getServiceDeskService(ServiceDeskServiceResolver.java:36)
	at com.codebarrel.jira.servicedesk.NativeServiceDeskClientFactory.getClient(NativeServiceDeskClientFactory.java:63)
	at com.codebarrel.jira.factory.NativeJIRAClientFactory.getClient(NativeJIRAClientFactory.java:89)
	at com.codebarrel.jira.factory.NativeJIRAClientFactory.getClient(NativeJIRAClientFactory.java:32)
	at com.codebarrel.automation.api.welcome.WelcomeContextProviderImpl.addCommonContext(WelcomeContextProviderImpl.java:28)
	at com.codebarrel.jira.plugin.automation.web.AutomationWelcomeAction.getIframeViewData(AutomationWelcomeAction.java:79)

  

/secure/AutomationWelcomeAction!iframe.jspa [o.a.c.c.C.[Catalina].[localhost].[/]] Unhandled exception occurred whilst decorating page
com.google.template.soy.tofu.SoyTofuException: In 'print' tag, expression "$localeString" evaluates to undefined.
	at JIRA.Automation.Welcome.Page.iframe(welcome-page.soy:32)
	at com.google.template.soy.tofu.internal.BaseTofu.renderMainHelper(BaseTofu.java:369)
	at com.google.template.soy.tofu.internal.BaseTofu.renderMain(BaseTofu.java:322)
	at com.google.template.soy.tofu.internal.BaseTofu.access$100(BaseTofu.java:66)
	at com.google.template.soy.tofu.internal.BaseTofu$RendererImpl.render(BaseTofu.java:476)
	at com.atlassian.soy.impl.DefaultSoyManager.render(DefaultSoyManager.java:154)
	at com.atlassian.soy.impl.DefaultSoyTemplateRenderer.render(DefaultSoyTemplateRenderer.java:45)
	at com.atlassian.soy.impl.DefaultSoyTemplateRenderer.render(DefaultSoyTemplateRenderer.java:39)
	... 5 filtered
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	... 48 filtered
	at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55)
	... 4 filtered
	at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:62)
	... 7 filtered
	at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:37)
	... 4 filtered
	at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
	... 3 filtered
	at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55)
	... 8 filtered
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
	... 62 filtered
	at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
	... 1 filtered
	at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
	... 39 filtered
	at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
	... 5 filtered
	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:213)
	at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136)
	at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:89)
	at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:204)
	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:135)
	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:124)
	... 4 filtered
	at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
	... 8 filtered
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
	... 4 filtered
	at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
	... 29 filtered
	at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
	... 25 filtered
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
Caused by: com.google.template.soy.sharedpasses.render.RenderException: In 'print' tag, expression "$localeString" evaluates to undefined.
	at JIRA.Automation.Welcome.Page.iframe(welcome-page.soy:32)
	at com.google.template.soy.sharedpasses.render.RenderVisitor.visitPrintNode(RenderVisitor.java:251)
	at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:87)
	at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:56)
	at com.google.template.soy.basetree.AbstractNodeVisitor.visitChildren(AbstractNodeVisitor.java:59)
	at com.google.template.soy.sharedpasses.render.RenderVisitor.visitBlockHelper(RenderVisitor.java:702)
	at com.google.template.soy.sharedpasses.render.RenderVisitor.visitTemplateNode(RenderVisitor.java:220)
	at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitTemplateBasicNode(AbstractSoyNodeVisitor.java:160)
	at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:66)
	at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:56)
	at com.google.template.soy.basetree.AbstractNodeVisitor.exec(AbstractNodeVisitor.java:40)
	at com.google.template.soy.tofu.internal.BaseTofu.renderMainHelper(BaseTofu.java:366)
	... 287 more

 

3 answers

1 accepted

0 votes
Answer accepted

(Reposting as answer to close this)

So I figured out the root cause of the issue. My base JIRA version was 8.5.6 - while A4J maintains that their latest app version supports JIRA all the way back till 7.7 - it seems their backwards compatibility may have an issue.

I upgraded my JIRA instance and that fixed the issue. Try it out in case that helps you too

Ran into this trouble too. Even though the A4J version was compatible (A4J 7.2.8 vs. Jira 8.13.13) it helped to upgrade A4J to the next version (7.3.3). Luckily we use postgres, so the extra steps were not required and it went pretty fast and well.

We get the same problem (on the same day) after installing a trial version of Jira Service Desk : 

 

2020-10-28 10:15:21,399 http-nio-8080-exec-63 ERROR user 615x6490673x1 1tiss0 94.110.227.235,10.0.5.24,10.0.11.151 /secure/AutomationGlobalAdminAction!iframe.jspa [o.a.c.c.C.[Catalina].[localhost].[/]] Unhandled exception occurred whilst decorating page
com.google.template.soy.tofu.SoyTofuException: In 'print' tag, expression "$localeString" evaluates to undefined.
at JIRA.Automation.Project.Admin.Page.iframe(automation-admin-page.soy:53)
at com.google.template.soy.tofu.internal.BaseTofu.renderMainHelper(BaseTofu.java:369)
at com.google.template.soy.tofu.internal.BaseTofu.renderMain(BaseTofu.java:322)
at com.google.template.soy.tofu.internal.BaseTofu.access$100(BaseTofu.java:66)
at com.google.template.soy.tofu.internal.BaseTofu$RendererImpl.render(BaseTofu.java:476)
at com.atlassian.soy.impl.DefaultSoyManager.render(DefaultSoyManager.java:133)
at com.atlassian.soy.impl.DefaultSoyTemplateRenderer.render(DefaultSoyTemplateRenderer.java:45)
at com.atlassian.soy.impl.DefaultSoyTemplateRenderer.render(DefaultSoyTemplateRenderer.java:39)
... 5 filtered
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
... 48 filtered
at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:56)
... 4 filtered
at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:62)
... 12 filtered
at de.codecentric.PreventAnonymousAccessFilter.doFilterInternal(PreventAnonymousAccessFilter.java:53)
at de.codecentric.PreventAnonymousAccessFilter.doFilter(PreventAnonymousAccessFilter.java:37)
... 3 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 47 filtered
at net.youngaweb.jira.ServletFilter.doFilter(ServletFilter.java:381)
... 3 filtered
at com.atlassian.plugins.slack.analytics.SlackAnalyticsFilter.doFilter(SlackAnalyticsFilter.java:35)
... 14 filtered
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
... 1 filtered
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
... 39 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
... 5 filtered
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:181)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:137)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:90)
at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:174)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:130)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:121)
... 4 filtered
at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32)
... 8 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 4 filtered
at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
... 26 filtered
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
... 24 filtered
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

@Morgan Wattiez 

So I figured out the root cause of the issue. My base JIRA version was 8.5.6 - while A4J maintains that their latest app version supports JIRA all the way back till 7.7 - it seems their backwards compatibility may have an issue.

I upgraded my JIRA instance and that fixed the issue. Try it out in case that helps you too

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Confluence

An update on Confluence Cloud customer feedback – June 2022

Hi everyone, We’re always looking at how to improve Confluence and customer feedback plays an important role in making sure we're investing in the areas that will bring the most value to the most c...

159 views 1 3
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you