How to test Application Links
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
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
Summary
When an Application Link is created in an Atlassian application, it attempts to connect to the target application's manifest. This manifest contains some important information from the target application such as the ID, name, type, version, application link version, and authentication types. If that information cannot be retrieved the application link will not be successfully created.
Environment
All supported versions of Bamboo, connected to another application through an Application Link.
Solution
When attempting to establish application links, the following HTTP requests are made:
- The source application will query its own
applicationlinkForm
- The source then establishes an HTTP connection to the manifest of the target application
To quickly test how the application link is configured:
From Bamboo
- Go to your web browser (as a Bamboo administrator) and hit the following URL by replacing
BAMBOO_BASE_URL
with Bamboo's base URL:BAMBOO_BASE_URL/rest/applinks/1.0/listApplicationlinks.json
As a response, you must get application link information from the Bamboo server:
{"link": {"id":"a51ee3ac-9a93-3009-b173-29dd192eb163", "name":"Bamboo", "displayUrl":http://bamboo801:8085, "rpcUrl":http://bamboo801:8085, "type":"bamboo"} ,"working":true,
Take note of the id displayed in response (e.g. a51ee3ac-9a93-3009-b173-29dd192eb163).
- Go to your web browser (as a Bamboo administrator) and hit the following URL by replacing
BAMBOO_BASE_URL
with Bamboo's base URL and id:BAMBOO_BASE_URL/rest/applinks/3.0/status/a51ee3ac-9a93-3009-b173-29dd192eb163
You should get a result like the one below:
{"link": {"id":"a51ee3ac-9a93-3009-b173-29dd192eb163", "name":"Bamboo", "displayUrl":http://bamboo801:8085, "rpcUrl":http://bamboo801:8085, "type":"bamboo"} ,"working":true, "localAuthentication":{ "incoming": {"enabled":true, "twoLoEnabled":true, "twoLoImpersonationEnabled":false} ,"outgoing":{ "enabled":true, "twoLoEnabled":true, "twoLoImpersonationEnabled":false}} "remoteAuthentication":{ "incoming": {"enabled":true, "twoLoEnabled":true, "twoLoImpersonationEnabled":false} ,"outgoing": {"enabled":true, "twoLoEnabled":true, "twoLoImpersonationEnabled":false} }}
The result from the test above allows us to see how the application link is configured and if there are any issues with it.
Also, to ensure that there's proper bi-directional communication between applications, run the cURL below:
curl -H "Accept: application/json" http://HOST/ContextPath/rest/applinks/1.0/manifest -v
If the application is properly set up, the result should return something such as the below:
* About to connect() to bamboo801 port 8085
* Trying X.X.X.X...
* Connected to bamboo801 (10.65.1.91) port 8085
> GET /rest/applinks/1.0/manifest HTTP/1.1
> User-Agent: curl/7.29.0
> Host: bamboo801:8085
> Accept: application/json
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection established
<
* Proxy replied OK to CONNECT request
In case the connection is not established please take a look at our Application Link Troubleshooting Guide.