jira confluence link
Asked by shailesh ligade:

Hello,

I installed JIRA and confluence on the same server (different tomcat, different port).

Both have different url on https to server outside world

When I try to add JIRA issue in confluence I get application link not set error. However when I set that application link using outside url, it says it is not accessible, and if I set link using localhost:\<port\> (or http://10.xx:\<port\>) it says reciprocal link is not set (even though I did the same on JIRA side as well).

Both links are stating

Application Link 'XXXX' was created successfully locally but the reciprocal link was not created. Please review the configuration using the Edit option.

and

Application 'XXXX JIRA' seems to be offline. Click here to Relocate.

I even modified /etc/hosts with

10.xxxx localhost xxxx (conf outside url) yyyy (JIRA outside url). still it is not working

The links looks like

JIRA

NAME DISPLAY_URL Application_URL application

CONF <https://xxxx> <http://10.xx:8090> CONFLUENCE

Confluence

NAME DISPLAY_URL Application_URL application

JIRA <https://xxxx> <http://10.xx:8080> JIRA

Please advise.

Shailesh


Answers:
author: Bunty
body: Hi [@shailesh ligade2](/t5/user/viewprofilepage/user-id/680579),

Have you resolved this Issue?

If yes could you tell me how did you resolve?

Thanks,

Manikanta


author: Chuck Burkett
body: Just out of curiosity, are you logging your JIRA reports to Confluence or some other reason for it?


author: Nic Brough -Adaptavist-
body: You should never set localhost like that - it should always point to 127.0.0.1 and/or ::1 - you can break all sorts of parts of your operating system in interesting ways if you get localhost wrong. I'd put your hosts file back the way you found it as soon as possible.

But the rest of your experiments are fine, and you are pretty close - when you're linking the applications, you should always try to use the base url for the applications - i.e. the url on which you are going to be using them on.

You say "Both have different url on https to server outside world" - that's great - could you try using those urls in the application links? I am assuming those urls are the base urls you have set in the respective applications as well...

comments: author: shailesh ligade
body: Thanks Nic,

localhost or 10,xx:,port\> has the same results.

The problem is when I try outside https urls, application says

No response was received from the URL you entered - it may not be valid. Please fix the URL below, if needed, and click Continue.

<br />

If I continue, it asks me consumer key, and access token etc. and not sure what to provide for all this.

<br />

If I use http://10.0.:\<port\> it does recognize https://\<\> as display name correctly (that's the base url set in respective applications)

<br />

Shailesh

<br />


author: shailesh ligade
body: Hello,

This is still an issue for us. When I googled this, I saw that we have to have application links plugin installed on both JIRA and Confluence. Is that still true? Where do I get this plugin? I didn't find it in marketplace.

Also, do I really need to set oAuth first? I saw <https://www.prodpad.com/2013/05/tech-tutorial-oauth-in-jira/> and it talks about having an RSA key. HOw can I generate one? and where it should be placed on each server?

This is very confusing...

Shailesh


author: Nic Brough -Adaptavist-
body: The application links addon is part of the standard installation of both applications and can't be removed (without hacking it out of the file system!). We probably need to check that you're on a recent version of Jira and Confluence.The problem is not the Oauth if I'm reading this correctly, the problem is that you can't reach the servers you need to from those systems. You need to fix that first, but I can't tell you why your server can't reach the targets


author: shailesh ligade
body: Thanks Nic,

I understood that application link is not separate add on

The problem now is one way works, I can add JIRA flters on confluence link and they show up. If I try to add conflunce link to JIRA then I get error

Authentication with Confluence failed. Please check your credentials or Application Links configuration in Confluence

and logs have

2015-02-13 10:09:20,420 http-bio-8080-exec-6 WARN Shailesh.Ligade 609x223662x1 peqb9p 128.229.4.2,10.0.20.60 /plugins/servlet/applinks/oauth/login-dance/authorize \[apache.commons.httpclient.HttpMethodDirector\] Unable to respond to any of these challenges: {oauth=OAuth realm="https%3A%2F%[2Fconfluence.fmlobssp.com](http://2Fconfluence.fmlobssp.com)", oauth_signature="q78hnwW1%2BiHIGY1nGNN%2BIPDXPXsu3WM2zO48qAqIh2QoQysv2lZy4j4eDEYh6M0ssF0HNWIKbIJiyZ7qrpd806sSUnLdmZoM3qVwwaO0we10g8WxNOcVnrGB3l7pDf7fcZHsUoMT70wtvnd%2FRqeUkJ3x4pwp%2B63%2BIY5UaDFw210%3D", oauth_signature_base_string="POST%26https%253A%252F%[252Fconfluence.fmlobssp.com](http://252Fconfluence.fmlobssp.com)%252Fplugins%252Fservlet%252Foauth%252Frequest-token%26oauth_callback%253Dhttps%25253A%25252F%[25252Ftracker.fmlobssp.com](http://25252Ftracker.fmlobssp.com)%25252Fplugins%25252Fservlet%25252Fapplinks%25252Foauth%25252Flogin-dance%25252Faccess%25253FapplicationLinkID%25253D323f3f72-eec3-3e47-a0af-ef8bb4daf5c2%2526oauth_consumer_key%253Djira%25253A2779975%2526oauth_nonce%253D635149291867447%2526oauth_signature_method%253DRSA-SHA1%2526oauth_timestamp%253D1423840160%2526oauth_version%253D1.0", oauth_problem="signature_invalid", oauth_signature_method="RSA-SHA1"}  
2015-02-13 10:09:20,421 http-bio-8080-exec-6 ERROR Shailesh.Ligade 609x223662x1 peqb9p 128.229.4.2,10.0.20.60 /plugins/servlet/applinks/oauth/login-dance/authorize \[core.auth.oauth.OAuthApplinksServlet\] An error occurred when performing the oauth 'dance' for application link 'NCFMSIT (323f3f72-eec3-3e47-a0af-ef8bb4daf5c2) <http://10.0.20.100:8090> com.atlassian.applinks.application.confluence.ConfluenceApplicationTypeImpl@14d2a3e5'  
com.atlassian.applinks.core.auth.oauth.OAuthMessageProblemException: Failed to get token from service provider, problem was: 'signature_invalid'  
at com.atlassian.applinks.core.auth.oauth.OAuthTokenRetriever$1.handle(OAuthTokenRetriever.java:128)  
at com.atlassian.plugins.rest.module.jersey.JerseyRequest$1.handle(JerseyRequest.java:145)  
at com.atlassian.plugins.rest.module.jersey.JerseyRequest$1.handle(JerseyRequest.java:142)  
at com.atlassian.plugins.rest.module.jersey.JerseyRequest$2.handle(JerseyRequest.java:166)  
at [com.atlassian.sal.core.net](http://com.atlassian.sal.core.net).HttpClientRequest.executeAndReturn(HttpClientRequest.java:351)  
at com.atlassian.plugins.rest.module.jersey.JerseyRequest.executeAndReturn(JerseyRequest.java:161)  
at com.atlassian.plugins.rest.module.jersey.JerseyRequest.execute(JerseyRequest.java:141) \<+3\> (NativeMethodAccessorImpl.java:62) (DelegatingMethodAccessorImpl.java:43)  
at java.lang.reflect.Method.invoke(Method.java:483)  
at com.atlassian.plugins.rest.module.ContextClassLoaderSwitchingProxy.invoke(ContextClassLoaderSwitchingProxy.java:27)  
at com.sun.proxy.$Proxy3573.execute(Unknown Source)  
at com.atlassian.applinks.core.auth.oauth.OAuthTokenRetriever.requestToken(OAuthTokenRetriever.java:139)  
at com.atlassian.applinks.core.auth.oauth.OAuthTokenRetriever.getRequestToken(OAuthTokenRetriever.java:51)  
at com.atlassian.applinks.core.auth.oauth.OAuthApplinksServlet.obtainAndAuthorizeRequestToken(OAuthApplinksServlet.java:304)  
at com.atlassian.applinks.core.auth.oauth.OAuthApplinksServlet.doGet(OAuthApplinksServlet.java:164)  
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)  
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)  
at com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:42)  
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)  
at com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:52)  
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) \<+2\> (ApplicationFilterChain.java:303) (ApplicationFilterChain.java:208)  
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) \<+14\> (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (XContentTypeOptionsNoSniffFilter.java:22) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (HeaderSanitisingFilter.java:44) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70)  
at com.atlassian.jira.tzdetect.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:39) \<+3\> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  
at com.atlassian.jira.baseurl.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:38) \<+8\> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (ContextFilter.java:25) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  
at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter(ServingRequestsFilter.java:37) \<+3\> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  
at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:36) \<+3\> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  
at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60) \<+3\> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  
at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92) \<+3\> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  
at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) \<+3\> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  
at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36) \<+23\> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AccessLogFilter.java:103) (AccessLogFilter.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (XsrfTokenAdditionRequestFilter.java:54) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SiteMeshFilter.java:181) (SiteMeshFilter.java:85) (SitemeshPageFilter.java:124) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70)  
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) \<+22\> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SecurityFilter.java:239) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (TrustedApplicationsFilter.java:100) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (BaseLoginFilter.java:172) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) (OAuthFilter.java:79) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) \<+13\> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ProfilingFilter.java:99) (JIRAProfilingFilter.java:19) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractJohnsonFilter.java:71) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208)  
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)  
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)  
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) \<+10\> (UrlRewriteFilter.java:394) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (GzipFilter.java:82) (GzipFilter.java:59) (JiraGzipFilter.java:55) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70)  
at com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter(JiraAnalyticsFilter.java:41) \<+4\> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70)  
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) \<+40\> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractCachingFilter.java:33) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractEncodingFilter.java:41) (AbstractHttpFilter.java:31) (PathMatchingEncodingFilter.java:49) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (JiraStartupChecklistFilter.java:79) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (MultipartBoundaryCheckFilter.java:41) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (JiraFirstFilter.java:60) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (StandardWrapperValve.java:220) (StandardContextValve.java:122) (AuthenticatorBase.java:501) (StandardHostValve.java:171) (ErrorReportValve.java:103) (StandardEngineValve.java:116) (AccessLogValve.java:950) (CoyoteAdapter.java:408) (AbstractHttp11Processor.java:1070) (AbstractProtocol.java:611) (JIoEndpoint.java:316)  
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)  
at java.lang.Thread.run(Thread.java:745)  
2015-02-13 10:09:20,426 http-bio-8080-exec-6 ERROR Shailesh.Ligade 609x223662x1 peqb9p 128.229.4.2,10.0.20.60 /plugins/servlet/applinks/oauth/login-dance/authorize \[core.auth.oauth.OAuthApplinksServlet\] Error during OAuth Dance, OAuth Parameters 'realm: '[https://confluence.fmlobssp.com',oauth_signature](https://confluence.fmlobssp.com): 'q78hnwW1+iHIGY1nGNN+IPDXPXsu3WM2zO48qAqIh2QoQysv2lZy4j4eDEYh6M0ssF0HNWIKbIJiyZ7qrpd806sSUnLdmZoM3qVwwaO0we10g8WxNOcVnrGB3l7pDf7fcZHsUoMT70wtvnd/RqeUkJ3x4pwp+63+IY5UaDFw210=',oauth_signature_base_string: 'POST\&https%3A%2F%[2Fconfluence.fmlobssp.com](http://2Fconfluence.fmlobssp.com)%2Fplugins%2Fservlet%2Foauth%2Frequest-token\&oauth_callback%3Dhttps%253A%252F%[252Ftracker.fmlobssp.com](http://252Ftracker.fmlobssp.com)%252Fplugins%252Fservlet%252Fapplinks%252Foauth%252Flogin-dance%252Faccess%253FapplicationLinkID%253D323f3f72-eec3-3e47-a0af-ef8bb4daf5c2%26oauth_consumer_key%3Djira%253A2779975%26oauth_nonce%3D635149291867447%26oauth_signature_method%3DRSA-SHA1%26oauth_timestamp%3D1423840160%26oauth_version%3D1.0',oauth_problem: 'signature_invalid',oauth_signature_method: 'RSA-SHA1''


author: Nic Brough -Adaptavist-
body: Ok, three thoughts...1. Are you using a reverse proxy? If you are, then a misconfiguration in there can break application links2. I seem to remember Jira 6.0 and 6.1 have a bug that can bite application links in some cases. Are you on 6.2+ ?3. Are you definitely using the same account credentials for admin on both systems?4. What are the base urls of both applications? Are they absolutely correct and can be resolved by the network correctly?


Tags: application-link

crowd

jira