Setting up an external application
To enable Tracker to exchange data with an application, configure network access and authentication.
To make sure Tracker supports advanced functionality of links to your application, such as displaying detailed information about related objects or creating links in an external application upon request from Tracker, you need to implement support for these features in the application.
Network access
Your application must be available via a public address on the internet.
Authentication
To authenticate requests sent from Tracker to external applications, you can use one of the following approaches:
-
Without authentication
-
OAuth
The header passes the token of the user on whose behalf the request to the application is being made.
Getting information about linked objects
To enable the Tracker interface to display detailed information about a linked object, the application should pass the following information upon request:
-
Method: GET
-
URL:
scheme://host:port*{{remoteKey}}*
where:
remoteKey
is the key of the linked object in the application.*
is any sequence of characters.
For example:
https://my-app.ru:8080/1234/info
Expected response format: A list of parameters in JSON format
Parameter | Type | Description |
---|---|---|
key |
String | Object key. Required. |
summary |
String | Object name. Required. |
iconUrl |
String | Icon URL. Optional. Used if a different icon needs to be displayed for objects in a certain status. |
status |
Objects | Object status. Optional. Contains the following fields:
|
resolution |
Objects | Resolution. Optional. Contains the following fields:
|
assignee |
Objects | Assignee. Optional. Contains the following fields:
|
updated |
String | Update date and time in YYYY-MM-DDThh:mm:ss.sss±hhmm format. Optional. |
deadline |
String | Deadline in YYYY-MM-DDThh:mm:ss.sss±hhmm format. Optional. |
Creating links in an application upon request from Tracker
When a link to an external object is created in Tracker, Tracker can send a request to the application to create a duplicate link in it. To do this, the application must support creating links upon request:
-
Method: POST.
-
URL: Set by the application developer.
-
Request body: A list of parameters in JSON format
Parameter Type Description issueKey
String Tracker issue key. entityIds
Array of strings IDs of application objects linked to the issue.
Removing links in an application upon request from Tracker
When removing a link to an external object in Tracker, Tracker can send a request to an application to remove this link from the application. To do this, the application must support removing links upon request:
-
Method: DELETE
-
URL:
scheme://host:port*{{issueKey}}*{{remoteKey}}|{{remoteKey}}*{{issueKey}}*
where:
-
issueKey
is the key of the issue in Tracker. -
remoteKey
is the key of the linked object in the application. -
*
is any sequence of characters.
You can specify issue and object keys in any order.
For example:
https://my-app.ru:8080/links/?action=del&ticket=TEST-123&obj=1234
-