com.atlassian.sal.api.net.ResponseException: No hipchat link currently configured
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
HipChat integration isn't configured, and the atlassian-bitbucket.log
is throwing some errors complaining about HipChat not being configured, as follows:
2016-07-14 19:00:00,000 ERROR [AtlassianEvent::thread-10] admin @6JEJLNx1161x109450x2 1frifk 127.0.0.1,192.168.0.1 "POST /rest/api/latest/projects/PROJ/repos/git/pull-requests/812/merge HTTP/1.1" c.a.p.h.a.n.DefaultHipChatNotificationService No hipChat link defined
2016-07-14 19:00:00,001 WARN [AtlassianEvent::thread-10] admin @6JEJLNx1161x109450x2 1frifk 127.0.0.1,192.168.0.1 "POST /rest/api/latest/projects/PROJ/repos/git/pull-requests/812/merge HTTP/1.1" c.a.b.i.h.n.NotificationEventListener Unable to send HipChat Notification.
com.atlassian.sal.api.net.ResponseException: No hipchat link currently configured
at com.atlassian.plugins.hipchat.api.notification.DefaultHipChatNotificationService.getDefaultHipChatLink(DefaultHipChatNotificationService.java:211) ~[base-hipchat-integration-plugin-api-7.3.6_1464159120000.jar:na]
at com.atlassian.plugins.hipchat.api.notification.DefaultHipChatNotificationService.doNotify(DefaultHipChatNotificationService.java:175) ~[base-hipchat-integration-plugin-api-7.3.6_1464159120000.jar:na]
at com.atlassian.plugins.hipchat.api.notification.DefaultHipChatNotificationService.notifyRoom(DefaultHipChatNotificationService.java:106) ~[base-hipchat-integration-plugin-api-7.3.6_1464159120000.jar:na]
at com.atlassian.plugins.hipchat.api.HipChatApiServiceWrapper.notifyRoom(HipChatApiServiceWrapper.java:72) ~[base-hipchat-integration-plugin-api-7.3.6_1464159120000.jar:na]
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) ~[na:na]
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) ~[na:na]
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70) ~[na:na]
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53) ~[na:na]
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) ~[na:na]
at com.atlassian.bitbucket.internal.hipchat.notification.NotificationEventListener.lambda$onEvent$4(NotificationEventListener.java:71) [bitbucket-hipchat-integration-plugin-7.3.6.jar:na]
at com.atlassian.bitbucket.internal.hipchat.notification.NotificationEventListener$$Lambda$136/869059053.accept(Unknown Source) [bitbucket-hipchat-integration-plugin-7.3.6.jar:na]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) [na:1.8.0_51]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) [na:1.8.0_51]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) [na:1.8.0_51]
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1540) [na:1.8.0_51]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) [na:1.8.0_51]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) [na:1.8.0_51]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) [na:1.8.0_51]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) [na:1.8.0_51]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [na:1.8.0_51]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) [na:1.8.0_51]
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270) [na:1.8.0_51]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) [na:1.8.0_51]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) [na:1.8.0_51]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) [na:1.8.0_51]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) [na:1.8.0_51]
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) [na:1.8.0_51]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) [na:1.8.0_51]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [na:1.8.0_51]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) [na:1.8.0_51]
at com.atlassian.bitbucket.internal.hipchat.notification.NotificationEventListener.onEvent(NotificationEventListener.java:69) [bitbucket-hipchat-integration-plugin-7.3.6.jar:na]
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36) [atlassian-event-3.0.0.jar:na]
at com.atlassian.stash.internal.event.AsyncBatchingInvokersTransformer$AsyncInvokerBatch.invoke(AsyncBatchingInvokersTransformer.java:94) [bitbucket-platform-4.6.2.jar:na]
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:46) [atlassian-event-3.0.0.jar:na]
at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:34) [sal-core-3.0.6.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_51]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
... 19 frames trimmed
Cause
Bitbucket Server was once integrated with HipChat and after the integration was undone some leftovers of the configuration remained in the database.
Resolution
Check for any stale HipChat configuration in the database:
select * from AO_58E6CE_HIPCHAT_NOTIFICATION; select * from AO_5FB9D7_AOHIP_CHAT_LINK; select * from AO_5FB9D7_AOHIP_CHAT_USER;
Create a full backup in case the changes need to be reverted. You may refer to Data recovery and backups.
- Remove the stale configuration found from the tables aforementioned.