Bamboo build results not published to Stash and an NPE is thrown

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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

In an attempt to integrate Bamboo and Stash you have checked that the stash bamboo plugin is installed, configured application links and configured a notification scheme. Despite that, the builds are not published to stash.

The atlassian-bamboo.log shows the following:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 2013-07-24 16:56:04,733 ERROR [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-10] [NamedThreadFactory] Uncaught exception in thread AtlassianEvent::0-BAM::EVENTS:pool-2-thread-10 java.lang.NullPointerException at com.atlassian.bamboo.stash.StashNotificationRecipient.doRestCallViaApplink(StashNotificationRecipient.java:190) at com.atlassian.bamboo.stash.StashNotificationRecipient$1.sendNotification(StashNotificationRecipient.java:148) at com.atlassian.bamboo.notification.NotificationDispatcherImpl.dispatchNotifications(NotificationDispatcherImpl.java:59) at com.atlassian.bamboo.notification.chain.ChainCompletedNotificationListener.handleEvent(ChainCompletedNotificationListener.java:102) at sun.reflect.GeneratedMethodAccessor935.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.orm.hibernate.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy248.handleEvent(Unknown Source) at sun.reflect.GeneratedMethodAccessor935.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.orm.hibernate.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy249.handleEvent(Unknown Source) at com.atlassian.event.legacy.LegacyListenerHandler$LegacyListenerInvoker.invoke(LegacyListenerHandler.java:55) at com.atlassian.bamboo.event.spi.EventInvokerRunnable.run(EventInvokerRunnable.java:23) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:52) at java.lang.Thread.run(Thread.java:662)

Cause

Though you have added an application link, the requirement is that it must be a basic access mode of authentication. Trusted app or OAUTH will result in this issue and the notification page shows error like:

(Auto-migrated image: description temporarily unavailable)

Resolution

Reconfigure the application links to use basic access. You can also choose the option to configure multiple connections as the newer version of Bamboo stash plugin (1.0.1) allows that. This means you can configure trusted app and basic access for both incoming and outgoing authentication.

Updated on April 15, 2025

Still need help?

The Atlassian Community is here for you.