Cannot find class com/atlassian/bitbucket/hook/repository/RepositoryMergeRequestCheck

Hi,

I’m building a PreRecieveMegeHook plugin using the JDK,
I’m using the class com/atlassian/bitbucket/hook/repository/RepositoryMergeRequestCheck

when I run locally everything works but atlassian marketplace review fails me because they say the class does not exists…

their log:

2020-11-02 16:25:47,354 ERROR [UpmAsynchronousTaskManager:thread-2] admin @8A55FKx985x1621x0 17h29cv 172.17.0.1 "POST /rest/plugins/1.0/ HTTP/1.1" c.a.p.manager.DefaultPluginManager There was an error loading the descriptor 'Cpp Check Merge Hook' of plugin 'bitbcuketplugincpp.com.softacheck'. Disabling. java.lang.NoClassDefFoundError: com/atlassian/bitbucket/hook/repository/RepositoryMergeRequestCheck at java.lang.ClassLoader.defineClass1(Native Method) at com.atlassian.plugin.module.ClassPrefixModuleFactory.getModuleClass(ClassPrefixModuleFactory.java:44) at com.atlassian.plugin.module.PrefixDelegatingModuleFactory.guessModuleClass(PrefixDelegatingModuleFactory.java:145) at com.atlassian.plugin.module.PrefixDelegatingModuleFactory$$FastClassBySpringCGLIB$$e05be356.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at com.atlassian.stash.internal.plugin.OsgiSafeProxyProvider$1.invoke(OsgiSafeProxyProvider.java:95) at com.atlassian.plugin.module.PrefixDelegatingModuleFactory$$EnhancerBySpringCGLIB$$c97ea466.guessModuleClass(<generated>) at com.atlassian.plugin.descriptors.AbstractModuleDescriptor.loadClass(AbstractModuleDescriptor.java:190) at com.atlassian.plugin.descriptors.AbstractModuleDescriptor.enabled(AbstractModuleDescriptor.java:406) at com.atlassian.bitbucket.hook.BaseScmHookModuleDescriptor.enabled(BaseScmHookModuleDescriptor.java:45) at com.atlassian.stash.internal.plugin.RepositoryHookModuleDescriptor.enabled(RepositoryHookModuleDescriptor.java:130) at com.atlassian.plugin.manager.DefaultPluginManager.lambda$notifyModuleEnabled$44(DefaultPluginManager.java:1881) at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:63) at com.atlassian.plugin.manager.DefaultPluginManager.notifyModuleEnabled(DefaultPluginManager.java:1877) at com.atlassian.plugin.manager.DefaultPluginManager.lambda$enableConfiguredPluginModule$30(DefaultPluginManager.java:1632) at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:72) at com.atlassian.plugin.manager.DefaultPluginManager.enableConfiguredPluginModule(DefaultPluginManager.java:1616) at com.atlassian.plugin.manager.DefaultPluginManager.lambda$enableConfiguredPluginModules$29(DefaultPluginManager.java:1607) at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:72) at com.atlassian.plugin.manager.DefaultPluginManager.enableConfiguredPluginModules(DefaultPluginManager.java:1604) at com.atlassian.plugin.manager.DefaultPluginManager.lambda$enableDependentPlugins$22(DefaultPluginManager.java:1258) at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:63) at com.atlassian.plugin.manager.DefaultPluginManager.enableDependentPlugins(DefaultPluginManager.java:1227) at com.atlassian.plugin.manager.DefaultPluginManager.lambda$addPlugins$20(DefaultPluginManager.java:1212) at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:63) at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:1112) at com.atlassian.stash.internal.plugin.StashPluginManager.addPlugins(StashPluginManager.java:79) at com.atlassian.plugin.manager.DefaultPluginManager.lambda$scanForNewPlugins$12(DefaultPluginManager.java:917) at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:63) at com.atlassian.plugin.manager.DefaultPluginManager.scanForNewPlugins(DefaultPluginManager.java:872) at com.atlassian.plugin.manager.DefaultPluginManager.lambda$installPlugins$11(DefaultPluginManager.java:832) at com.atlassian.plugin.manager.PluginTransactionContext.wrap(PluginTransactionContext.java:63) at com.atlassian.plugin.manager.DefaultPluginManager.installPlugins(DefaultPluginManager.java:818) at com.atlassian.stash.internal.plugin.ClusteredPluginController.installPlugins(ClusteredPluginController.java:77) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53) at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) at com.atlassian.upm.core.install.AbstractPluginInstallHandler$1.doInTransaction(AbstractPluginInstallHandler.java:139) at com.atlassian.upm.core.install.AbstractPluginInstallHandler$1.doInTransaction(AbstractPluginInstallHandler.java:134) at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:21) at com.atlassian.stash.internal.sal.spi.HostContextAccessorImpl.doInTransaction(HostContextAccessorImpl.java:54) at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53) at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) at com.atlassian.upm.core.install.AbstractPluginInstallHandler.installArtifacts(AbstractPluginInstallHandler.java:133) at com.atlassian.upm.core.install.AbstractPluginInstallHandler.installArtifact(AbstractPluginInstallHandler.java:119) at com.atlassian.upm.core.install.JarPluginInstallHandler.installPluginInternal(JarPluginInstallHandler.java:52) at com.atlassian.upm.core.install.AbstractPluginInstallHandler.installPlugin(AbstractPluginInstallHandler.java:60) at com.atlassian.upm.core.install.DefaultPluginInstallationService.execute(DefaultPluginInstallationService.java:133) at com.atlassian.upm.core.install.DefaultPluginInstallationService.install(DefaultPluginInstallationService.java:101) at com.atlassian.upm.install.UpmPluginInstallationService.install(UpmPluginInstallationService.java:120) at com.atlassian.upm.core.rest.resources.install.InstallTask.installFromFile(InstallTask.java:156) at com.atlassian.upm.core.rest.resources.install.InstallFromFileTask.executeTask(InstallFromFileTask.java:37) at com.atlassian.upm.core.rest.resources.install.InstallTask.run(InstallTask.java:81) at com.atlassian.upm.core.async.AsynchronousTaskManager.executeTask(AsynchronousTaskManager.java:124) at com.atlassian.upm.core.async.AsynchronousTaskManager$1.call(AsynchronousTaskManager.java:102) at com.atlassian.upm.core.async.AsynchronousTaskManager$1.call(AsynchronousTaskManager.java:99) at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.lang.Thread.run(Thread.java:748) ... 70 frames trimmed Caused by: java.lang.ClassNotFoundException: com.atlassian.bitbucket.hook.repository.RepositoryMergeRequestCheck at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:92) ... 68 common frames omitted

Not sure if this was deprecated at some point…

in my hook i have : import com.atlassian.bitbucket.hook.repository.RepositoryMergeRequestCheck;

Thanks!

Try to check your bitbucket version, RepositoryMergeRequestCheck removed in bitbucket 6.0

Thanks.

I get this as an extended class as soon as I create a merge hook with the atlas-create-bitbucket-plugin-module though,

how can I update this?