Unable to integrate mirror

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: 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 は除く



問題

When adding a mirror, authentication to the upstream fails.

The following appears in the atlassian-bitbucket.log

ここをクリックして展開...
2018-05-18 14:17:34,907 ERROR [https-jsse-nio-7443-exec-7] <user> @1JSG9Zx857x25382x0 1y1vul6 10.X.X.X "POST /rest/mirroring/latest/requests/2/accept HTTP/1.1" c.a.p.c.p.l.ConnectAddonInstaller An exception occurred while installing the plugin '[bitbucket.mirror.xxxx-xxxx-xxxx-xxxx]. Uninstalling...
java.lang.NullPointerException: null
	at com.atlassian.applinks.core.DefaultApplicationLinkService$1.apply(DefaultApplicationLinkService.java:345)
	at com.atlassian.applinks.core.DefaultApplicationLinkService$1.apply(DefaultApplicationLinkService.java:343)
	at com.google.common.collect.Iterators$7.computeNext(Iterators.java:652)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
	at com.google.common.collect.AbstractIterator.next(AbstractIterator.java:153)
	at com.google.common.collect.Iterators.find(Iterators.java:717)
	at com.google.common.collect.Iterables.find(Iterables.java:646)
	at com.atlassian.applinks.core.DefaultApplicationLinkService.isNameInUse(DefaultApplicationLinkService.java:343)
	at com.atlassian.applinks.core.DefaultApplicationLinkService.findSuitableName(DefaultApplicationLinkService.java:316)
	at com.atlassian.applinks.core.DefaultApplicationLinkService.addApplicationLink(DefaultApplicationLinkService.java:277)
	at com.atlassian.applinks.core.DefaultApplicationLinkService.addApplicationLink(DefaultApplicationLinkService.java:99)
	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.plugin.connect.plugin.auth.applinks.DefaultConnectApplinkManager.lambda$createAppLink$0(DefaultConnectApplinkManager.java:67)
	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.plugin.connect.plugin.auth.applinks.DefaultConnectApplinkManager.createAppLink(DefaultConnectApplinkManager.java:48)
	at com.atlassian.plugin.connect.plugin.lifecycle.ConnectAddonManager.installConnectAddon(ConnectAddonManager.java:215)
	at com.atlassian.plugin.connect.plugin.lifecycle.ConnectAddonInstaller.install(ConnectAddonInstaller.java:115)
	at com.atlassian.plugin.connect.plugin.ConnectAddonControllerImpl.installAddon(ConnectAddonControllerImpl.java:47)
	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.bitbucket.internal.mirroring.upstream.DefaultMirrorAddonManager.installAddon(DefaultMirrorAddonManager.java:120)
	at com.atlassian.bitbucket.internal.mirroring.upstream.DefaultMirrorAddonManager.install(DefaultMirrorAddonManager.java:63)
	at com.atlassian.bitbucket.internal.mirroring.upstream.DefaultMirroringRequestService.lambda$accept$7(DefaultMirroringRequestService.java:204)
	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.bitbucket.internal.mirroring.upstream.DefaultMirroringRequestService.aroundStateChange(DefaultMirroringRequestService.java:215)
	at com.atlassian.bitbucket.internal.mirroring.upstream.DefaultMirroringRequestService.accept(DefaultMirroringRequestService.java:194)
	at com.atlassian.bitbucket.internal.mirroring.upstream.rest.MirroringRequestResource.accept(MirroringRequestResource.java:161)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
	at com.atlassian.analytics.client.filter.UniversalAnalyticsFilter.doFilter(UniversalAnalyticsFilter.java:92)
	at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:39)
	at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
	at com.atlassian.plugin.connect.plugin.auth.scope.ApiScopingFilter.doFilter(ApiScopingFilter.java:81)
	at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
	at com.atlassian.stash.internal.spring.security.StashAuthenticationFilter.doFilter(StashAuthenticationFilter.java:85)
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doInsideSpringSecurityChain(BeforeLoginPluginAuthenticationFilter.java:112)
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:75)
	at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:94)
	at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:67)
	at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
	at com.atlassian.plugin.connect.plugin.auth.oauth2.DefaultSalAuthenticationFilter.doFilter(DefaultSalAuthenticationFilter.java:69)
	at com.atlassian.plugin.connect.plugin.auth.user.ThreeLeggedAuthFilter.doFilter(ThreeLeggedAuthFilter.java:109)
	at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32)
	at com.atlassian.analytics.client.filter.DefaultAnalyticsFilter.doFilter(DefaultAnalyticsFilter.java:38)
	at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:39)
	at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doBeforeBeforeLoginFilters(BeforeLoginPluginAuthenticationFilter.java:90)
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:73)
	at com.atlassian.stash.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:89)
	at com.atlassian.stash.internal.hazelcast.ConfigurableWebFilter.doFilter(ConfigurableWebFilter.java:38)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.lang.Thread.run(Thread.java:748)
	... 335 frames trimmed
2018-05-18 14:17:34,929 INFO  [https-jsse-nio-7443-exec-7] <user> @1JSG9Zx857x25382x0 1y1vul6 10.X.X.X "POST /rest/mirroring/latest/requests/2/accept HTTP/1.1" c.a.p.c.p.l.ConnectAddonManager Connect addon 'bitbucket.mirror.xxxx-xxxx-xxxx-xxxx' disabled in 20ms
2018-05-18 14:17:34,930 WARN  [https-jsse-nio-7443-exec-7] <user> @1JSG9Zx857x25382x0 1y1vul6 10.X.X.X "POST /rest/mirroring/latest/requests/2/accept HTTP/1.1" c.a.p.c.p.DelegatingConnectAddonInformationProvider Value in plugin settings: Optional[<some_hash>] does not match value in applinks: Optional.empty when calling method getSharedSecret. Returning value from applinks because feature flag connect.no-applinks is false. See https://ecosystem.atlassian.net/browse/ACDEV-1581
2018-05-18 14:17:34,952 INFO  [https-jsse-nio-7443-exec-7] <user> @1JSG9Zx857x25382x0 1y1vul6 10.X.X.X "POST /rest/mirroring/latest/requests/2/accept HTTP/1.1" c.a.p.c.p.l.ConnectAddonManager Connect addon 'bitbucket.mirror.xxxx-xxxx-xxxx-xxxx' uninstalled in 44ms
2018-05-18 14:17:34,955 ERROR [https-jsse-nio-7443-exec-7] <user> @1JSG9Zx857x25382x0 1y1vul6 10.X.X.X "POST /rest/mirroring/latest/requests/2/accept HTTP/1.1" c.a.b.i.m.u.DefaultMirroringRequestService Failed to change state of mirroring request for https://<base_URL>:7443
com.atlassian.bitbucket.mirroring.upstream.MirrorIntegrationFailedException: Failed to install mirror <mirror_name> from /rest/mirroring/latest/upstreamServers/<upstream_ID>/addon/descriptor (Reason 'not specified')
	at com.atlassian.bitbucket.internal.mirroring.upstream.DefaultMirrorAddonManager.installAddon(DefaultMirrorAddonManager.java:146)
	at com.atlassian.bitbucket.internal.mirroring.upstream.DefaultMirrorAddonManager.install(DefaultMirrorAddonManager.java:63)
	at com.atlassian.bitbucket.internal.mirroring.upstream.DefaultMirroringRequestService.lambda$accept$7(DefaultMirroringRequestService.java:204)
	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.bitbucket.internal.mirroring.upstream.DefaultMirroringRequestService.aroundStateChange(DefaultMirroringRequestService.java:215)
	at com.atlassian.bitbucket.internal.mirroring.upstream.DefaultMirroringRequestService.accept(DefaultMirroringRequestService.java:194)
	at com.atlassian.bitbucket.internal.mirroring.upstream.rest.MirroringRequestResource.accept(MirroringRequestResource.java:161)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
	at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
	at com.atlassian.analytics.client.filter.UniversalAnalyticsFilter.doFilter(UniversalAnalyticsFilter.java:92)
	at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:39)
	at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
	at com.atlassian.plugin.connect.plugin.auth.scope.ApiScopingFilter.doFilter(ApiScopingFilter.java:81)
	at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
	at com.atlassian.stash.internal.spring.security.StashAuthenticationFilter.doFilter(StashAuthenticationFilter.java:85)
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doInsideSpringSecurityChain(BeforeLoginPluginAuthenticationFilter.java:112)
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:75)
	at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:94)
	at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:67)
	at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
	at com.atlassian.plugin.connect.plugin.auth.oauth2.DefaultSalAuthenticationFilter.doFilter(DefaultSalAuthenticationFilter.java:69)
	at com.atlassian.plugin.connect.plugin.auth.user.ThreeLeggedAuthFilter.doFilter(ThreeLeggedAuthFilter.java:109)
	at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32)
	at com.atlassian.analytics.client.filter.DefaultAnalyticsFilter.doFilter(DefaultAnalyticsFilter.java:38)
	at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:39)
	at com.atlassian.stash.internal.spring.lifecycle.LifecycleJohnsonServletFilterModuleContainerFilter.doFilter(LifecycleJohnsonServletFilterModuleContainerFilter.java:42)
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doBeforeBeforeLoginFilters(BeforeLoginPluginAuthenticationFilter.java:90)
	at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:73)
	at com.atlassian.stash.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:89)
	at com.atlassian.stash.internal.hazelcast.ConfigurableWebFilter.doFilter(ConfigurableWebFilter.java:38)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.lang.Thread.run(Thread.java:748)
	... 272 frames trimmed
Caused by: com.atlassian.plugin.connect.api.lifecycle.ConnectAddonInstallException: null
	at com.atlassian.plugin.connect.plugin.lifecycle.ConnectAddonInstaller.install(ConnectAddonInstaller.java:128)
	at com.atlassian.plugin.connect.plugin.ConnectAddonControllerImpl.installAddon(ConnectAddonControllerImpl.java:47)
	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.bitbucket.internal.mirroring.upstream.DefaultMirrorAddonManager.installAddon(DefaultMirrorAddonManager.java:120)
	... 43 common frames omitted
Caused by: java.lang.NullPointerException: null
	at com.atlassian.applinks.core.DefaultApplicationLinkService$1.apply(DefaultApplicationLinkService.java:345)
	at com.atlassian.applinks.core.DefaultApplicationLinkService$1.apply(DefaultApplicationLinkService.java:343)
	at com.google.common.collect.Iterators$7.computeNext(Iterators.java:652)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
	at com.google.common.collect.AbstractIterator.next(AbstractIterator.java:153)
	at com.google.common.collect.Iterators.find(Iterators.java:717)
	at com.google.common.collect.Iterables.find(Iterables.java:646)
	at com.atlassian.applinks.core.DefaultApplicationLinkService.isNameInUse(DefaultApplicationLinkService.java:343)
	at com.atlassian.applinks.core.DefaultApplicationLinkService.findSuitableName(DefaultApplicationLinkService.java:316)
	at com.atlassian.applinks.core.DefaultApplicationLinkService.addApplicationLink(DefaultApplicationLinkService.java:277)
	at com.atlassian.applinks.core.DefaultApplicationLinkService.addApplicationLink(DefaultApplicationLinkService.java:99)
	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.plugin.connect.plugin.auth.applinks.DefaultConnectApplinkManager.lambda$createAppLink$0(DefaultConnectApplinkManager.java:67)
	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.plugin.connect.plugin.auth.applinks.DefaultConnectApplinkManager.createAppLink(DefaultConnectApplinkManager.java:48)
	at com.atlassian.plugin.connect.plugin.lifecycle.ConnectAddonManager.installConnectAddon(ConnectAddonManager.java:215)
	at com.atlassian.plugin.connect.plugin.lifecycle.ConnectAddonInstaller.install(ConnectAddonInstaller.java:115)
	... 50 common frames omitted


診断

Diagnostic Steps

  • The most important bit of the snippet above is the NullPointerException
  • For further diagnosis we'll look in the application.xml and a dump of the plugin_setting table

In application.xml that is generated when a Support Zip is created, we should look for an application link with no name attribute:

    <application-links>
      <id>12345678-1234-1234-1234-1234567891011</id>
      <name>Atlassian Linked Application 1</name>
      <primary>true</primary>
      <type>applinks.application1</type>
      <display-url>https://base_URL</display-url>
      <rpc-url>https://base_URL</rpc-url>
    </application-links>
    <application-links>
      <id>9876543-9876-9876-9876-121110987654</id>
      <primary>true</primary>
      <type>applinks.application2</type>
      <display-url>https://base_URL</display-url>
      <rpc-url>https://base_URL</rpc-url>
    </application-links>
  • Here we have 2 applications linked to Bitbucket Server - application1 and application2
  • Note that application1 has a name attribute but application2 does not

If we then take the id for application2 (the application linked with no name) we can use it to search the plugin_setting table dump that is the result set of the following query:

select * from plugin_setting where key_name = 'applinks.admin.<id_from_application_xml_file>.name';

If this returns an empty set we have confirmed that this application was linked with no name.

原因

Putting it all together, the null that is pointed to (as seen in the stacktrace above) is coming from the application with no name.

ソリューション

Find the application in the Bitbucket Server UI's application link page and add a name for the application. Any name will do. 

After adding the name you should be able to integrate the mirror.


最終更新日 2018 年 5 月 22 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.