Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-43232

Hipchat for JIRA plugin v6.24.0 is broken

    XMLWordPrintable

Details

    Description

      Steps to reproduce

      1. Install JIRA 6.4.3
      2. Update HipChat for JIRA to v6.24.0
        • In my installation, there isn't any Update button, so I manually downloaded it from here and uploaded it
      3. Manage the add-on

      Expected behaviour

      1. All modules are enabled and everything is working fine

      Actual behaviour

      1. All modules are not enabled and the following message appears
        This add-on couldn't be loaded. It has one or more errors that prevent it from being enabled.

      2. The following stack trace is thrown in the logs
        2015-05-04 20:14:34,160 UpmAsynchronousTaskManager:thread-3 ERROR admin 1148x387x2 191qqg0 127.0.0.1 /rest/plugins/1.0/available/recent [atlassian.plugin.manager.DefaultPluginManager] There was an error loading the descriptor 'new-issue-command' of plugin 'com.atlassian.labs.hipchat.hipchat-for-jira-plugin'. Disabling.
        java.lang.NoClassDefFoundError: com/atlassian/plugins/hipchat/api/webhooks/HipChatCommandBehaviour
        	at java.lang.Class.getDeclaredMethods0(Native Method)
        	at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
        	at java.lang.Class.getMethod0(Class.java:2856)
        	at java.lang.Class.getMethod(Class.java:1668)
        	at com.atlassian.plugin.descriptors.AbstractModuleDescriptor.getModuleReturnClass(AbstractModuleDescriptor.java:269)
        	at com.atlassian.plugin.descriptors.AbstractModuleDescriptor.loadClass(AbstractModuleDescriptor.java:248)
        	at com.atlassian.plugin.descriptors.AbstractModuleDescriptor.enabled(AbstractModuleDescriptor.java:491)
        	at com.atlassian.plugin.manager.DefaultPluginManager.notifyModuleEnabled(DefaultPluginManager.java:2124)
        	at com.atlassian.plugin.manager.DefaultPluginManager.enableConfiguredPluginModule(DefaultPluginManager.java:1898)
        	at com.atlassian.plugin.manager.DefaultPluginManager.enableConfiguredPluginModules(DefaultPluginManager.java:1868)
        	at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:1260)
        	at com.atlassian.plugin.manager.DefaultPluginManager.scanForNewPlugins(DefaultPluginManager.java:910)
        	at com.atlassian.plugin.manager.DefaultPluginManager.installPlugins(DefaultPluginManager.java:809)
        	at com.atlassian.jira.plugin.JiraPluginManager.installPlugins(JiraPluginManager.java:163)  <+3> (NativeMethodAccessorImpl.java:57) (DelegatingMethodAccessorImpl.java:43)
        	at java.lang.reflect.Method.invoke(Method.java:606)
        	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:134)
        	at com.sun.proxy.$Proxy40.installPlugins(Unknown Source)  <+3> (NativeMethodAccessorImpl.java:57) (DelegatingMethodAccessorImpl.java:43)
        	at java.lang.reflect.Method.invoke(Method.java:606)
        	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
        	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
        	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        	at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        	at com.sun.proxy.$Proxy5164.installPlugins(Unknown Source)
        	at com.atlassian.upm.core.install.PluginArtifactInstallerImpl$1.doInTransaction(PluginArtifactInstallerImpl.java:55)
        	at com.atlassian.upm.core.install.PluginArtifactInstallerImpl$1.doInTransaction(PluginArtifactInstallerImpl.java:50)
        	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:25)
        	at com.atlassian.jira.DefaultHostContextAccessor.doInTransaction(DefaultHostContextAccessor.java:34)  <+2> (DelegatingMethodAccessorImpl.java:43)
        	at java.lang.reflect.Method.invoke(Method.java:606)
        	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:134)
        	at com.sun.proxy.$Proxy42.doInTransaction(Unknown Source)  <+2> (DelegatingMethodAccessorImpl.java:43)
        	at java.lang.reflect.Method.invoke(Method.java:606)
        	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
        	at com.sun.proxy.$Proxy42.doInTransaction(Unknown Source)
        	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:21)  <+2> (DelegatingMethodAccessorImpl.java:43)
        	at java.lang.reflect.Method.invoke(Method.java:606)
        	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
        	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
        	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        	at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
        	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        	at com.sun.proxy.$Proxy5150.execute(Unknown Source)
        	at com.atlassian.upm.core.install.PluginArtifactInstallerImpl.installPlugins(PluginArtifactInstallerImpl.java:49)
        	at com.atlassian.upm.core.install.ObrPluginInstallHandler.installResources(ObrPluginInstallHandler.java:230)
        	at com.atlassian.upm.core.install.ObrPluginInstallHandler.installPluginInternal(ObrPluginInstallHandler.java:157)
        	at com.atlassian.upm.core.install.AbstractPluginInstallHandler.installPlugin(AbstractPluginInstallHandler.java:48)
        	at com.atlassian.upm.core.install.DefaultPluginInstallationService.execute(DefaultPluginInstallationService.java:111)
        	at com.atlassian.upm.core.install.DefaultPluginInstallationService.install(DefaultPluginInstallationService.java:87)
        	at com.atlassian.upm.install.UpmPluginInstallationService.install(UpmPluginInstallationService.java:94)
        	at com.atlassian.upm.core.rest.resources.install.InstallTask.installFromFile(InstallTask.java:123)
        	at com.atlassian.upm.core.rest.resources.install.InstallFromUriTask.executeTask(InstallFromUriTask.java:88)
        	at com.atlassian.upm.core.rest.resources.install.InstallTask.call(InstallTask.java:60)
        	at com.atlassian.upm.core.rest.resources.install.InstallTask.call(InstallTask.java:34)
        	at com.atlassian.upm.core.rest.async.AsynchronousTaskManager$1.call(AsynchronousTaskManager.java:78)
        	at com.atlassian.upm.core.rest.async.AsynchronousTaskManager$1.call(AsynchronousTaskManager.java:73)
        	at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:42)
        	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        	at java.lang.Thread.run(Thread.java:745)
        Caused by: java.lang.ClassNotFoundException: com.atlassian.plugins.hipchat.api.webhooks.HipChatCommandBehaviour
        	at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:772)
        	at org.apache.felix.framework.ModuleImpl.access$200(ModuleImpl.java:73)
        	at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1690)
        	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        	... 94 more
        

      Note.

      1. This also affects older versions of JIRA
        • I've tested updating to this version with JIRA 6.4 and ran into the same problem

      Workaround

      Users must roll back to version 6.22 and below to get HipChat working again

      1. Download Hipchat Plugin v6.22 using the following link
      2. Navigate to the Manage add-ons page
      3. Choose All add-ons from the drop down list beside the search box
      4. Uninstall the following add-ons
        Atlassian Hipchat Integration Plugin
        Atlassian Hipchat Integration Plugin Core
        HipChat for JIRA
      5. Upload the obr file you downloaded in the Step 1 and install it

      Attachments

        1. 1.png
          1.png
          35 kB

        Issue Links

          Activity

            People

              azikou Athan (Inactive)
              ywoo Yit Wei
              Votes:
              1 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: