Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-69312

JiraTestResultReporter plugin does not show plus button to create an issue

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • Jenkins 2.346.2
      JiraTestResultReporter plugin 177.v32b079d425fb

      Hello, I have just installed and configured JiraTestResultReporter plugin, but I cannot make it work for some reason. Clicking "Validate Settings" works fine.

      I have disabled the auto-raise setting. Then when opening the failed tests, no plus button exists.

      If I manually rerun the pipeline and enable the auto-raise, a Jira issue is created.

      However, if I click on the X icon to unline the issue, nothing happens. In subsequent runs this test does not come with the linked issue though.

      I checked Jenkins logs, but I cannot find any error there. What might I be missing?

          [JENKINS-69312] JiraTestResultReporter plugin does not show plus button to create an issue

          Andre Schlegel added a comment - I can confirm this issue. Jenkins 2.358 JiraTestResultReporter pluginVersion177.v32b079d425fb

          Chris added a comment -

          Same happening here.

          Jenkins 2.361.1

          JiraTestResultReporter 177.v32b079d425fb

          Chris added a comment - Same happening here. Jenkins 2.361.1 JiraTestResultReporter 177.v32b079d425fb

          Chris added a comment -

          I've investigated further with a test instance. I attempted to downgrade the plugin, this did nothing. I did however find an issue with the job specific configuration. The overall plugin configuration validation works fine in Jenkins -> Manage System. However, the Job specific configuration under Advanced.. fails to validate (see screenshot & stacktraces below). I've edited the screenshot, replacing the actual values with placeholders that match the same format. 

          2022-11-29 11:18:26.257+0000 [id=37]    WARNING    o.e.j.s.h.ContextHandler$Context#log: Error while serving http://192.168.1.227:8080/$stapler/bound/9f981e4c-1bf5-460b-bbcf-a14701b5c7c2/validateFieldConfigs
          net.sf.json.JSONException: JSONObject["publisher"] is not a JSONObject.
              at net.sf.json.JSONObject.getJSONObject(JSONObject.java:2006)
              at org.jenkinsci.plugins.JiraTestResultReporter.JiraTestDataPublisher$JiraTestDataPublisherDescriptor.validateFieldConfigs(JiraTestDataPublisher.java:614)
              at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710)
              at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:397)
              at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:409)
              at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:207)
              at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:140)
              at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:661)
              at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:762)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)
              at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:475)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:762)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:830)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:690)
              at org.kohsuke.stapler.Stapler.service(Stapler.java:201)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
              at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
              at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:157)
              at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at hudson.plugins.locale.LocaleFilter.doFilter(LocaleFilter.java:42)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:81)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:60)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
              at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
              at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)
              at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:121)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:160)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:154)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:94)
              at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
              at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:106)
              at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:97)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:223)
              at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:97)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)
              at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)
              at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:111)
              at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:172)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:53)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
              at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:549)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
              at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1378)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
              at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1300)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
              at org.eclipse.jetty.server.Server.handle(Server.java:562)
              at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)
              at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)
              at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)
              at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
              at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
              at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
              at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
              at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412)
              at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381)
              at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268)
              at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:138)
              at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407)
              at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
              at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
              at java.base/java.lang.Thread.run(Thread.java:829)
          Caused: java.lang.reflect.InvocationTargetException
              at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:401)
              at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:409)
              at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:207)
              at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:140)
              at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:661)
              at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:762)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)
              at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:475)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:762)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)
              at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:830)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)
              at org.kohsuke.stapler.Stapler.invoke(Stapler.java:690)
              at org.kohsuke.stapler.Stapler.service(Stapler.java:201)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
              at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
              at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:157)
              at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at hudson.plugins.locale.LocaleFilter.doFilter(LocaleFilter.java:42)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:81)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:60)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
              at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
              at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)
              at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:121)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
              at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
              at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:160)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:154)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:94)
              at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
              at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:106)
              at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:97)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:223)
              at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:97)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)
              at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)
              at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63)
              at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)
              at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:111)
              at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:172)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:53)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
              at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:549)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
              at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1378)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
              at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1300)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
              at org.eclipse.jetty.server.Server.handle(Server.java:562)
              at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)
              at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)
              at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)
              at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
              at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
              at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
              at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
              at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412)
              at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381)
              at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268)
              at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:138)
              at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407)
              at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
              at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
              at java.base/java.lang.Thread.run(Thread.java:829) 

          andreschlegel  maybe you could check if your job configuration is having the same problem?

          Chris added a comment - I've investigated further with a test instance. I attempted to downgrade the plugin, this did nothing. I did however find an issue with the job specific configuration. The overall plugin configuration validation works fine in Jenkins -> Manage System. However, the Job specific configuration under Advanced.. fails to validate (see screenshot & stacktraces below). I've edited the screenshot, replacing the actual values with placeholders that match the same format.  2022-11-29 11:18:26.257+0000 [id=37]    WARNING    o.e.j.s.h.ContextHandler$Context#log: Error while serving http: //192.168.1.227:8080/$stapler/bound/9f981e4c-1bf5-460b-bbcf-a14701b5c7c2/validateFieldConfigs net.sf.json.JSONException: JSONObject[ "publisher" ] is not a JSONObject.     at net.sf.json.JSONObject.getJSONObject(JSONObject.java:2006)     at org.jenkinsci.plugins.JiraTestResultReporter.JiraTestDataPublisher$JiraTestDataPublisherDescriptor.validateFieldConfigs(JiraTestDataPublisher.java:614)     at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710)     at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:397)     at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:409)     at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:207)     at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:140)     at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:661)     at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:762)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)     at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:475)     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:762)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:830)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:690)     at org.kohsuke.stapler.Stapler.service(Stapler.java:201)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)     at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:157)     at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at hudson.plugins.locale.LocaleFilter.doFilter(LocaleFilter.java:42)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:81)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:60)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)     at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)     at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)     at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:121)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:160)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:154)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:94)     at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)     at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:106)     at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:97)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:223)     at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:97)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)     at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)     at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:111)     at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:172)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:53)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:549)     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)     at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)     at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1378)     at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544)     at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1300)     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)     at org.eclipse.jetty.server.Server.handle(Server.java:562)     at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)     at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)     at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)     at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$ new $0(AdaptiveExecutionStrategy.java:138)     at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407)     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)     at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)     at java.base/java.lang. Thread .run( Thread .java:829) Caused: java.lang.reflect.InvocationTargetException     at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:401)     at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:409)     at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:207)     at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:140)     at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:661)     at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:59)     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:762)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)     at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:475)     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:762)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)     at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:830)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:894)     at org.kohsuke.stapler.Stapler.invoke(Stapler.java:690)     at org.kohsuke.stapler.Stapler.service(Stapler.java:201)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)     at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:157)     at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at hudson.plugins.locale.LocaleFilter.doFilter(LocaleFilter.java:42)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:81)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:60)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)     at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)     at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)     at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:121)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)     at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)     at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:160)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:154)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:94)     at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:54)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)     at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:106)     at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:97)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:223)     at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:217)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:97)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)     at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)     at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:63)     at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:99)     at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:111)     at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:172)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:53)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:86)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:38)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:549)     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)     at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)     at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1378)     at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544)     at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1300)     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)     at org.eclipse.jetty.server.Server.handle(Server.java:562)     at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)     at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)     at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)     at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$ new $0(AdaptiveExecutionStrategy.java:138)     at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407)     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)     at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)     at java.base/java.lang. Thread .run( Thread .java:829) andreschlegel   maybe you could check if your job configuration is having the same problem?

          csteele I'm using a declarative pipeline for my job. Here is the part for this plugin:

           

          ...
          junit (
           testResults: 'test-result-*.xml',
           testDataPublishers: [
             jiraTestResultReporter(
               configs: [
                 jiraStringField(fieldKey: 'summary', value: "TEST FAILED - $PACKAGE_NAME - $BRANCH_NAME - " + '${TEST_NAME}'),
                 jiraStringField(fieldKey: 'description', value: '${DEFAULT_DESCRIPTION}'),
                 jiraStringArrayField(fieldKey: 'labels', values: [jiraArrayEntry(value:'Cypress'), jiraArrayEntry(value:'hideInReleaseNotes')])
               ],
               projectKey: 'BPC',
               issueType: '1',
               autoRaiseIssue: true,
               autoResolveIssue: false,
               autoUnlinkIssue: false,
             )
           ]
          )
          ... 

          Andre Schlegel added a comment - csteele I'm using a declarative pipeline for my job. Here is the part for this plugin:   ... junit ( testResults: 'test-result-*.xml' , testDataPublishers: [ jiraTestResultReporter( configs: [ jiraStringField(fieldKey: 'summary' , value: "TEST FAILED - $PACKAGE_NAME - $BRANCH_NAME - " + '${TEST_NAME}' ), jiraStringField(fieldKey: 'description' , value: '${DEFAULT_DESCRIPTION}' ), jiraStringArrayField(fieldKey: 'labels' , values: [jiraArrayEntry(value: 'Cypress' ), jiraArrayEntry(value: 'hideInReleaseNotes' )]) ], projectKey: 'BPC' , issueType: '1' , autoRaiseIssue: true , autoResolveIssue: false , autoUnlinkIssue: false , ) ] ) ...

          Chris added a comment -

          andreschlegel  thank you, that makes sense. our Jenkins still uses a lot of maven type jobs. I think the problem I posted above is an unrelated bug that applies to the advanced configuration UI, and has nothing to do with this current bug.

          I have debugged further with a test jenkins instance and as far as I can tell, the JiraTestAction constructor is never called when loading the results. This class would be the one providing the UI elements (via badge.jelly) for the JUnit results. Follow my reasoning here:

          • JiraTestAction constructor is only called by JiraTestData.getAction
          • getTestAction is called by hudson.tasks.junit.TestResultAction and two tests:
          • getActions in hudson.tasks.junit.TestResultAction only calls getTaskAction if testData is not null (it is not null) and has elements (it is always an empty list). testObject is set correctly here while debugging, but testData is always an empty list, therefore data.getTestAction(object) is never called.

          I think something should be setting testData when loading the page but I have no idea where to look (first time debugging jenkins plugins...). It seems to be a bug in the JUnit plugin, anyway, and not directly in the JiraTestResultReporter plugin. Maybe I can still find out what happened but I don't know how much time I can still invest in this.

          maybe catalinluta would find this helpful? 

          Chris added a comment - andreschlegel   thank you, that makes sense. our Jenkins still uses a lot of maven type jobs. I think the problem I posted above is an unrelated bug that applies to the advanced configuration UI, and has nothing to do with this current bug. I have debugged further with a test jenkins instance and as far as I can tell, the JiraTestAction constructor is never called when loading the results. This class would be the one providing the UI elements (via badge.jelly) for the JUnit results. Follow my reasoning here: JiraTestAction constructor is only called by JiraTestData.getAction getTestAction is called by hudson.tasks.junit.TestResultAction and two tests: getActions in hudson.tasks.junit.TestResultAction only calls getTaskAction if testData is not null (it is not null) and has elements (it is always an empty list). testObject is set correctly here while debugging, but testData is always an empty list, therefore data.getTestAction(object) is never called. I think something should be setting testData when loading the page but I have no idea where to look (first time debugging jenkins plugins...). It seems to be a bug in the JUnit plugin, anyway, and not directly in the JiraTestResultReporter plugin. Maybe I can still find out what happened but I don't know how much time I can still invest in this. maybe catalinluta would find this helpful? 

          Chris added a comment - - edited

          I made some mistakes above - I had been using the wrong plugin (XUnit instead of JUnit) because I used the wrong job type (maven instead of freestyle), in which the JUnit plugin was not available. After switching to the freestyle job type, I could reproduce the initial bug as-is, and I think I have finally found the root cause. The issue regarding the missing UI elements is explained by the following method (in JiraTestDataPublisher.java), which adds the testData entries to the build.xml for the run. the hasTestData variable is only ever set to true if any of the configuration options (autoRaiseIssue, autoResolveIssue, autoUnlinkIssue) in the JiraTestResultReporter plugin are checked. This is exactly the data from which the JiraTestAction UI element is constructed (see explanation above), therefore no UI elements are ever shown when these options are not active.

          compare build.xml content (from the job/builds/<number>/ directory) with no options enabled:

          enable an option (I used autoRaiseIssue) and suddenly build.xml contains a JiraTestData section:

          I changed the code to simply return JiraTestData with the envvars and the data is saved + UI elements appear in the build summary. Not sure if this breaks anything else, I'm not sure of the motivations of the initial changes. :/

          Unfortunately, these elements also don't seem to work as expected currently, as other changes have been made to the plugin logic. I can't create an Issue anymore as when it is created by the UI (from the job's result page), it uses the global configuration, which does not allow me to specify a mandatory custom field, and my REST call is now always failing as a result. The cause for this is (in JiraUtils.java) the trigger.equals(JiraIssueTrigger.JOB) condition below, which only includes the fields configured within the job when the job run itself creates the issue. I am not sure why this change was made, when I add the JiraIssueTrigger.UI enum to the check i can create issues again normally. 

          Maybe a plugin developer with more insight could set up a call and we could talk it through? I'm afraid I'm going to have to hack together a custom version for our jenkins as we were very reliant on the old workflow and the automatic functionalities just don't work well enough to be useful for us.

          Chris added a comment - - edited I made some mistakes above - I had been using the wrong plugin (XUnit instead of JUnit) because I used the wrong job type (maven instead of freestyle), in which the JUnit plugin was not available. After switching to the freestyle job type, I could reproduce the initial bug as-is, and I think I have finally found the root cause. The issue regarding the missing UI elements is explained by the following method (in JiraTestDataPublisher.java), which adds the testData entries to the build.xml for the run. the hasTestData variable is only ever set to true if any of the configuration options (autoRaiseIssue, autoResolveIssue, autoUnlinkIssue) in the JiraTestResultReporter plugin are checked. This is exactly the data from which the JiraTestAction UI element is constructed (see explanation above), therefore no UI elements are ever shown when these options are not active. compare build.xml content (from the job/builds/<number>/ directory) with no options enabled: enable an option (I used autoRaiseIssue) and suddenly build.xml contains a JiraTestData section: I changed the code to simply return JiraTestData with the envvars and the data is saved + UI elements appear in the build summary. Not sure if this breaks anything else, I'm not sure of the motivations of the initial changes. :/ Unfortunately, these elements also don't seem to work as expected currently, as other changes have been made to the plugin logic. I can't create an Issue anymore as when it is created by the UI (from the job's result page), it uses the global configuration, which does not allow me to specify a mandatory custom field, and my REST call is now always failing as a result. The cause for this is (in JiraUtils.java) the trigger.equals(JiraIssueTrigger.JOB) condition below, which only includes the fields configured within the job when the job run itself creates the issue. I am not sure why this change was made, when I add the JiraIssueTrigger.UI enum to the check i can create issues again normally.  Maybe a plugin developer with more insight could set up a call and we could talk it through? I'm afraid I'm going to have to hack together a custom version for our jenkins as we were very reliant on the old workflow and the automatic functionalities just don't work well enough to be useful for us.

          Christian added a comment -

          Fixed with https://github.com/jenkinsci/JiraTestResultReporter-plugin/releases/tag/272.v3dd41b_194f54 by adding a new config parameter manualAddIssue .

          Christian added a comment - Fixed with https://github.com/jenkinsci/JiraTestResultReporter-plugin/releases/tag/272.v3dd41b_194f54 by adding a new config parameter manualAddIssue .

            catalinluta Catalin Luta
            boyan4gtmhub Boyan Mihaylov
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: