-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Low
-
Affects Version/s: 10.0.2, 10.2.7, 10.2.11
-
Component/s: Universal Plugin Manager / Manage apps
-
None
-
1
-
Severity 3 - Minor
Issue Summary
Slack notification is not getting triggered on slack channel when a blog post is created OR a normal page is updated or created.
Steps to Reproduce
- Install Confluence version 10.x
- Install "Slack for Confluence Data Center (official)" plugin
- Create a Slack Workspace by following the below steps
- Create a new workspace in Slack (Click Atlassian icon > Add a workspace > Create a new workspace
- It will redirect you to browser where you have to provide email id and create a workspace
- Then come to Confluence > Slack integration > Go to slack
- It will take you to another browser where you can Add to Slack
- Then you get the page similar to the one in KB where we can enter Base URL
- Copy the Slack credentials for safety sake and submit
- Open Confluence administration page and got to "Slack integration"
- Paste the credentials copied slack integration screen
- Select a space, then select slack channel and the check all the options and then click done.
- Create confluence blog page and you should not get any notification in slack.
- Check the atlassian-confluence.log for exception.
- For full stack trace, please enable DEBUG logging for com.atlassian.plugins.slack and com.atlassian.confluence.plugins.slack
Expected Results
Notification should reach to slack when a page is created or updated OR a blog post is created
Actual Results
The below exception is thrown in the atlassian-confluence.log. file:
2026-05-14 06:35:55,569 WARN [slack-client:thread-4] [slack.api.descriptor.SlackNotificationDescriptor] logThrowable Unable to access module for descriptor 'com.atlassian.confluence.plugins.confluence-slack-server-integration-plugin:slack-space-context' of class 'com.atlassian.plugins.slack.api.descriptor.SlackNotificationDescriptor' because of 'io.atlassian.util.concurrent.LazyReference$InitializationException - java.lang.ClassCastException: class com.atlassian.confluence.plugins.slack.spacetochannel.notifications.SpaceNotificationContext cannot be cast to class com.atlassian.plugins.slack.api.notification.SlackNotification (com.atlassian.confluence.plugins.slack.spacetochannel.notifications.SpaceNotificationContext and com.atlassian.plugins.slack.api.notification.SlackNotification are in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @3221ff21)'. Continuing... 2026-05-14 06:35:55,569 DEBUG [slack-client:thread-4] [slack.api.descriptor.SlackNotificationDescriptor] logThrowable Unable to access module for descriptor 'com.atlassian.confluence.plugins.confluence-slack-server-integration-plugin:slack-space-context' of class 'com.atlassian.plugins.slack.api.descriptor.SlackNotificationDescriptor' because of 'io.atlassian.util.concurrent.LazyReference$InitializationException - java.lang.ClassCastException: class com.atlassian.confluence.plugins.slack.spacetochannel.notifications.SpaceNotificationContext cannot be cast to class com.atlassian.plugins.slack.api.notification.SlackNotification (com.atlassian.confluence.plugins.slack.spacetochannel.notifications.SpaceNotificationContext and com.atlassian.plugins.slack.api.notification.SlackNotification are in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @3221ff21)'. Continuing... io.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.ClassCastException: class com.atlassian.confluence.plugins.slack.spacetochannel.notifications.SpaceNotificationContext cannot be cast to class com.atlassian.plugins.slack.api.notification.SlackNotification (com.atlassian.confluence.plugins.slack.spacetochannel.notifications.SpaceNotificationContext and com.atlassian.plugins.slack.api.notification.SlackNotification are in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @3221ff21) at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:156) at io.atlassian.util.concurrent.LazyReference.get(LazyReference.java:116) at io.atlassian.util.concurrent.ResettableLazyReference.get(ResettableLazyReference.java:95) at com.atlassian.plugins.slack.api.descriptor.SlackNotificationDescriptor.getModule(SlackNotificationDescriptor.java:67) at com.atlassian.plugins.slack.api.descriptor.SlackNotificationDescriptor.getModule(SlackNotificationDescriptor.java:11) at com.atlassian.ozymandias.SafePluginPointAccess.visitPluginPointImpl(SafePluginPointAccess.java:312) at com.atlassian.ozymandias.SafePluginPointAccess.descriptors(SafePluginPointAccess.java:213) at com.atlassian.ozymandias.SafePluginPointAccess.forType(SafePluginPointAccess.java:107) at com.atlassian.plugins.slack.api.descriptor.DefaultNotificationTypeService.getNotificationsForEvent(DefaultNotificationTypeService.java:91) at com.atlassian.confluence.plugins.slack.spacetochannel.service.SpaceToChannelNotificationService.lambda$slackNotifications$1(SpaceToChannelNotificationService.java:61) at com.atlassian.plugins.slack.util.AsyncExecutor.lambda$run$0(AsyncExecutor.java:36) at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:21) at com.atlassian.sal.spring.component.SpringHostContextAccessor.lambda$doInTransaction$0(SpringHostContextAccessor.java:72) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) at com.atlassian.sal.spring.component.SpringHostContextAccessor.doInTransaction(SpringHostContextAccessor.java:70) at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at jdk.proxy3/jdk.proxy3.$Proxy395.execute(Unknown Source) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360) 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.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) 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.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223) at jdk.proxy244/jdk.proxy244.$Proxy3476.execute(Unknown Source) at com.atlassian.plugins.slack.util.AsyncExecutor.lambda$run$1(AsyncExecutor.java:32) at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:34) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassCastException: class com.atlassian.confluence.plugins.slack.spacetochannel.notifications.SpaceNotificationContext cannot be cast to class com.atlassian.plugins.slack.api.notification.SlackNotification (com.atlassian.confluence.plugins.slack.spacetochannel.notifications.SpaceNotificationContext and com.atlassian.plugins.slack.api.notification.SlackNotification are in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @3221ff21) at com.atlassian.plugins.slack.api.descriptor.SlackNotificationDescriptor.createModule(SlackNotificationDescriptor.java:71) at com.atlassian.plugins.slack.api.descriptor.SlackNotificationDescriptor$1.create(SlackNotificationDescriptor.java:21) at com.atlassian.plugins.slack.api.descriptor.SlackNotificationDescriptor$1.create(SlackNotificationDescriptor.java:18) at io.atlassian.util.concurrent.ResettableLazyReference$InternalReference.create(ResettableLazyReference.java:185) at io.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:332) at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:150) ... 45 more
Resolution
This bug can be resolved by upgrading the Slack for Confluence Data Center app to 5.0.2 or higher.