• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • jira-plugin
    • OS: Windows 7
      Jenkins v. 2.60.2
      Java v. 1.8.0_66
      Jira plugin v. 2.4
      Browser Firefox, Chrome, IE

      Steps to reproduce:

      1 Login to Jenkins (localhost:8080)

      2. Select Manage Jenkins

      3. Go to JIRA sites and click on Add

      4. Enter your Jira URL, user name and password

      5. Click on Validate Settings

      Result: the following error message is displayed

       

      Stack trace

      java.lang.ClassNotFoundException: com.atlassian.fugue.Effect
          at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374)
          at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327)
          at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080)
          at java.lang.ClassLoader.loadClass(Unknown Source)
      Caused: java.lang.NoClassDefFoundError: com/atlassian/fugue/Effect
          at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.doCreate(DefaultHttpClientFactory.java:68)
          at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.create(DefaultHttpClientFactory.java:35)
          at com.atlassian.jira.rest.client.internal.async.AsynchronousHttpClientFactory.createClient(AsynchronousHttpClientFactory.java:63)
          at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.create(AsynchronousJiraRestClientFactory.java:35)
          at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.createWithBasicHttpAuthentication(AsynchronousJiraRestClientFactory.java:42)
          at hudson.plugins.jira.JiraSite.createSession(JiraSite.java:280)
          at hudson.plugins.jira.JiraSite$DescriptorImpl.doValidate(JiraSite.java:782)
          at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
          at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
          at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)
          at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)
          at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      Caused: javax.servlet.ServletException
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:765)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
          at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
          at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
          at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
          at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
          at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:138)
          at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:80)
          at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
          at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:92)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
          at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
          at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
          at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
          at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
          at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
          at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
          at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
          at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
          at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
          at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
          at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
          at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
          at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
          at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
          at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
          at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
          at org.eclipse.jetty.server.Server.handle(Server.java:499)
          at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
          at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
          at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
          at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          at java.lang.Thread.run(Unknown Source)

      I have also tried the following:

      • different browsers
      • http instead of https
      • adding also the Link URL (JIRA alternative URL)
      • Checking and unchecking the Use HTTP authentication checkbox
      • a random website
      • removing and reinstalling the JIRA plugin

      The same error message is generated

          [JENKINS-45992] Cannot validate JIRA site settings

          Nick Jones added a comment - - edited

          Reproducing it on 2.4 with an actual build is a little trickier – there must be a commit in the new build that wasn't previously built (so is considered a change) that has a JIRA issue ID in its commit message (specifically, in the first line of its commit message). The first build that picks up that commit will fail with:

          ERROR: Step ‘JIRA: Update relevant issues’ aborted due to exception: 
          java.lang.ClassNotFoundException: com.atlassian.fugue.Effect
          	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374)
          	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327)
          	at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080)
          	at java.lang.ClassLoader.loadClass(Unknown Source)
          Caused: java.lang.NoClassDefFoundError: com/atlassian/fugue/Effect
          	at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.doCreate(DefaultHttpClientFactory.java:68)
          	at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.create(DefaultHttpClientFactory.java:35)
          	at com.atlassian.jira.rest.client.internal.async.AsynchronousHttpClientFactory.createClient(AsynchronousHttpClientFactory.java:63)
          	at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.create(AsynchronousJiraRestClientFactory.java:35)
          	at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.createWithBasicHttpAuthentication(AsynchronousJiraRestClientFactory.java:42)
          	at hudson.plugins.jira.JiraSite.createSession(JiraSite.java:280)
          	at hudson.plugins.jira.JiraSite.getSession(JiraSite.java:255)
          	at hudson.plugins.jira.Updater.perform(Updater.java:95)
          	at hudson.plugins.jira.JiraIssueUpdater.perform(JiraIssueUpdater.java:64)
          	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
          	at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:735)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:676)
          	at hudson.model.Build$BuildExecution.post2(Build.java:186)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:621)
          	at hudson.model.Run.execute(Run.java:1760)
          	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
          	at hudson.model.ResourceController.execute(ResourceController.java:97)
          	at hudson.model.Executor.run(Executor.java:405)
          

          but any subsequent builds that don't have JIRA IDs in their new commits will succeed – i.e., it only fails once for a given commit.

          Nick Jones added a comment - - edited Reproducing it on 2.4 with an actual build is a little trickier – there must be a commit in the new build that wasn't previously built (so is considered a change) that has a JIRA issue ID in its commit message (specifically, in the first line of its commit message). The first build that picks up that commit will fail with: ERROR: Step ‘JIRA: Update relevant issues’ aborted due to exception: java.lang.ClassNotFoundException: com.atlassian.fugue.Effect at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080) at java.lang.ClassLoader.loadClass(Unknown Source) Caused: java.lang.NoClassDefFoundError: com/atlassian/fugue/Effect at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.doCreate(DefaultHttpClientFactory.java:68) at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.create(DefaultHttpClientFactory.java:35) at com.atlassian.jira.rest.client.internal.async.AsynchronousHttpClientFactory.createClient(AsynchronousHttpClientFactory.java:63) at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.create(AsynchronousJiraRestClientFactory.java:35) at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.createWithBasicHttpAuthentication(AsynchronousJiraRestClientFactory.java:42) at hudson.plugins.jira.JiraSite.createSession(JiraSite.java:280) at hudson.plugins.jira.JiraSite.getSession(JiraSite.java:255) at hudson.plugins.jira.Updater.perform(Updater.java:95) at hudson.plugins.jira.JiraIssueUpdater.perform(JiraIssueUpdater.java:64) at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:735) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:676) at hudson.model.Build$BuildExecution.post2(Build.java:186) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:621) at hudson.model.Run.execute(Run.java:1760) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:405) but any subsequent builds that don't have JIRA IDs in their new commits will succeed – i.e., it only fails once for a given commit.

          That's pretty interesting..
          Nick, can you edit your comment and post the full stacktrace, to see where this is coming from?

          Radek Antoniuk added a comment - That's pretty interesting.. Nick, can you edit your comment and post the full stacktrace, to see where this is coming from?

          Nick Jones added a comment -

          warden, I've edited my previous comment to include the complete stack trace. I can consistently reproduce it on 2.4 (which I'm running on my standby Jenkins instance, to assist with troubleshooting this bug). 2.3.1 (which I'm running on my production Jenkins instance, having downgraded) does not exhibit the problem with either freestyle builds or the originally reported test from the Manage Jenkins page.

          Nick Jones added a comment - warden , I've edited my previous comment to include the complete stack trace. I can consistently reproduce it on 2.4 (which I'm running on my standby Jenkins instance, to assist with troubleshooting this bug). 2.3.1 (which I'm running on my production Jenkins instance, having downgraded) does not exhibit the problem with either freestyle builds or the originally reported test from the Manage Jenkins page.

          Paul Holden added a comment -

           I can confirm upgrading to 2.4.2 this morning has resolved this problem for us, both on the Validate Settings button on the Manage Jenkins page and the JIRA: Update relevant issues post-build step.

          Thanks olamy for your assistance!

          Paul Holden added a comment -  I can confirm upgrading to 2.4.2 this morning has resolved this problem for us, both on the Validate Settings button on the Manage Jenkins page and the JIRA: Update relevant issues post-build step. Thanks olamy for your assistance!

          Thanks medianick, any luck with 2.4.2 or same effect?

          Radek Antoniuk added a comment - Thanks medianick , any luck with 2.4.2 or same effect?

          Nick Jones added a comment -

          warden, I've confirmed that 2.4.2 fixes the problem, both with freestyle builds (where a JIRA ID is in the first line of the commit message) and with the original "Validate Settings" step described originally. Thanks all!

          Nick Jones added a comment - warden , I've confirmed that 2.4.2 fixes the problem, both with freestyle builds (where a JIRA ID is in the first line of the commit message) and with the original "Validate Settings" step described originally. Thanks all!

          Emi Sore added a comment -

          I can also confirm that with the plugin version 2.4.2, Validate Settings from Manage Jenkins now works; no validation errors are displayed any more. Thank you!

          Emi Sore added a comment - I can also confirm that with the plugin version 2.4.2 , Validate Settings from Manage Jenkins now works; no validation errors are displayed any more. Thank you!

          Brian Bordini added a comment -

          Thank you very much for the fix!

          Brian Bordini added a comment - Thank you very much for the fix!

          Sanjay Dalvi added a comment -

          Hi,

          Issue is same for me. I am using Jenkins version 2.89.4 and JIRA Plugin Version 2.5.

          I have tried downgrading versions as specified above still issue is same.

          sanjaydalvi

          Sanjay Dalvi added a comment - Hi, Issue is same for me. I am using Jenkins version 2.89.4 and JIRA Plugin Version 2.5. I have tried downgrading versions as specified above still issue is same. sanjaydalvi

          sanjaydalvi, this issue was already resolved and released.

          If you're experiencing a similar issue with the current version of the plugin, please report a new issue and attach relevant version info and stacktrace.

          Radek Antoniuk added a comment - sanjaydalvi , this issue was already resolved and released. If you're experiencing a similar issue with the current version of the plugin, please report a new issue and attach relevant version info and stacktrace.

            falcon benoit guerin
            jes Emi Sore
            Votes:
            4 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: