com.atlassian.sal.api.net.ResponseException: No hipchat link currently configured
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
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.
*Fisheye および Crucible は除く
問題
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
原因
Bitbucket Server was once integrated with HipChat and after the integration was undone some leftovers of the configuration remained in the database.
ソリューション
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.