Resource: External System Links ( /api/externalsystemlinks )
This is the collection resource for external system links. This allows the search and retrieval of a list of all or a subset of external system links (Defect Trackers, Enterprise Architect connections etc.).
Root Relation: ExternalSystemLinks
This resource supports the following methods: GET, POST
Methods
GET
Retrieves all (or a subset) of external system links.
This method supports the OData parameters $filter, $top, $take, $orderby and $inlinecount. See OData Topic for more details.
Required Permissions
- Resources/ExternalLinks
Supported Expansions
- Configuration
- ExternalSystem
For more details on expansions, please see the Expand help topic.
Status Codes
These are the expected status codes returned by the service. In addition, some other status codes may be returned if either an internal error occurs or there is an authentication issue (such as an expired OAuth token).
Status | Description |
---|---|
200 - OK | Returned if the request was completed successfully. |
An example of retrieving all external system links.
Request Headers
Key | Value | Description |
---|---|---|
Content-type | application/json | |
Accept | application/json |
Response Headers
Key | Value | Description |
---|---|---|
Content-Type | application/json; charset=utf-8 |
Response Body
{ "Top": 25, "Total": 2, "Items": [ { "ExternalSystemId": "b5ee119f-bc44-4b3c-befe-919f2fe3f4f7", "ProjectId": "3afbe0dd-55ca-419e-b75d-d21c821d7281", "ProjectName": null, "Id": "a01fc7ed-3492-4792-9a0b-e2b52fa10913", "Type": "Incident", "TypeForDisplay": null, "ExternalSystemName": "Jira PROD", "ExternalSystemImplementationType": "Jira", "ExternalSystemConnectionType": null, "Name": "Project X", "Enabled": false, "LastSynchronizedAt": "2012-01-01T14:04:07Z", "LastDestinationToSourceSynchronizationAt": "2012-01-01T14:04:05Z", "LastSourceToDestinationSynchronizationAt": "2012-01-01T14:04:06Z", "ConfigurationComplete": true, "ConfigurationProblems": [], "AutoSelect": "NotApplicable", "Self": "http://localhost/api/externalsystemlink/a01fc7ed-3492-4792-9a0b-e2b52fa10913", "Links": [ { "Title": "Configuration Editor", "Href": "http://localhost/api", "Rel": "Edit" } ] }, { "ExternalSystemId": "b5ee119f-bc44-4b3c-befe-919f2fe3f4f7", "ProjectId": "3afbe0dd-55ca-419e-b75d-d21c821d7281", "ProjectName": null, "Id": "a01fc7ed-3492-4792-9a0b-e2b52fa10913", "Type": "Requirement", "TypeForDisplay": null, "ExternalSystemName": "Jira PROD", "ExternalSystemImplementationType": "Jira", "ExternalSystemConnectionType": null, "Name": "Project X", "Enabled": false, "LastSynchronizedAt": "2012-01-01T14:04:07Z", "LastDestinationToSourceSynchronizationAt": "2012-01-01T14:04:05Z", "LastSourceToDestinationSynchronizationAt": "2012-01-01T14:04:06Z", "ConfigurationComplete": true, "ConfigurationProblems": [], "AutoSelect": "NotApplicable", "Self": "http://localhost/api/externalsystemlink/a01fc7ed-3492-4792-9a0b-e2b52fa10913", "Links": [ { "Title": "Configuration Editor", "Href": "http://localhost/api", "Rel": "Edit" } ] } ] }
Status Code
200 - OK
An example of retrieving a set of external system links by type and project Id, by using the ODATA $filter query parameter.
Request Headers
Key | Value | Description |
---|---|---|
Content-type | application/json | |
Accept | application/json |
Request Parameters
Key | Value | Description |
---|---|---|
$filter | Type eq 'Incident' and ProjectId eq guid'3AFBE0DD-55CA-419E-B75D-D21C821D7281' | The ODATA $filter parameter, this query parameter should be url encoded i.e. $filter=Type%20eq%20'Incident'%20and%20ProjectId%20eq%20guid'3AFBE0DD-55CA-419E-B75D-D21C821D7281' |
Response Headers
Key | Value | Description |
---|---|---|
Content-Type | application/json; charset=utf-8 |
Response Body
{ "Skip": 0, "Top": 25, "Total": 1, "Items": [ { "ExternalSystemId": "b5ee119f-bc44-4b3c-befe-919f2fe3f4f7", "ProjectId": "3afbe0dd-55ca-419e-b75d-d21c821d7281", "ProjectName": null, "Id": "a01fc7ed-3492-4792-9a0b-e2b52fa10913", "Type": "Incident", "TypeForDisplay": null, "ExternalSystemName": "Jira PROD", "ExternalSystemImplementationType": "Jira", "ExternalSystemConnectionType": null, "Name": "Project X", "Enabled": false, "LastSynchronizedAt": "2012-01-01T14:04:07Z", "LastDestinationToSourceSynchronizationAt": "2012-01-01T14:04:05Z", "LastSourceToDestinationSynchronizationAt": "2012-01-01T14:04:06Z", "ConfigurationComplete": true, "ConfigurationProblems": [], "AutoSelect": "NotApplicable", "Self": "http://localhost/api/externalsystemlink/a01fc7ed-3492-4792-9a0b-e2b52fa10913", "Links": [ { "Title": "Configuration Editor", "Href": "http://localhost/api", "Rel": "Edit" } ] } ], "Self": "http://localhost/Enterprise/ExternalSystemLinks?$filter=Type eq 'Incident' and ProjectId eq guid'3AFBE0DD-55CA-419E-B75D-D21C821D7281'" }
Status Code
200 - OK
POST
Create a new external systems link.
Required Permissions
- Resources/ExternalLinks
Supported Expansions
- Configuration
- ExternalSystem
For more details on expansions, please see the Expand help topic.
Status Codes
These are the expected status codes returned by the service. In addition, some other status codes may be returned if either an internal error occurs or there is an authentication issue (such as an expired OAuth token).
Status | Description |
---|---|
201 - Created | Returned if the request was completed successfully. |
Create a new External System Link between a project in ET and a project in Jira, synchronizing requirements.
The ID of the project in ET is specified in the 'ProjectId' parameter of the Source FieldVaues object.
The ID of the project in Jira is specified in the 'ProjectId' parameter of the Destination FieldValues object.
Note: To determine the required FieldValues you can supply the '$expand=InitialFieldValues' query parameter when retrieving the list of External Sources from /api/externalsources, to include examples of what FieldValues are expected.
Request Headers
Key | Value | Description |
---|---|---|
Content-type | application/json | |
Accept | application/json |
Request Body
{ "Source": { "Key": "Requirement", "Id": null, "FieldValues": { "ProjectId": "3afbe0dd-55ca-419e-b75d-d21c821d7281" } }, "Destination": { "Key": "Synchronization", "Id": "a01fc7ed-3492-4792-9a0b-e2b52fa10913", "FieldValues": { "ProjectId": "12345" } }, "Name": "Project X" }
Response Headers
Key | Value | Description |
---|---|---|
Location | http://localhost/api/externalsystemlink/a01fc7ed-3492-4792-9a0b-e2b52fa10913 | |
Content-Type | application/json; charset=utf-8 |
Response Body
{ "ExternalSystemId": "b5ee119f-bc44-4b3c-befe-919f2fe3f4f7", "ProjectId": "3afbe0dd-55ca-419e-b75d-d21c821d7281", "ProjectName": null, "Id": "a01fc7ed-3492-4792-9a0b-e2b52fa10913", "Type": "Requirement", "TypeForDisplay": null, "ExternalSystemName": "Rally", "ExternalSystemImplementationType": "Rally", "ExternalSystemConnectionType": null, "Name": "Project X Requirements", "Enabled": true, "LastSynchronizedAt": "2012-01-01T14:04:07Z", "LastDestinationToSourceSynchronizationAt": "2012-01-01T14:04:05Z", "LastSourceToDestinationSynchronizationAt": "2012-01-01T14:04:06Z", "ConfigurationComplete": true, "ConfigurationProblems": [], "AutoSelect": "NotApplicable", "Self": "http://localhost/api/externalsystemlink/a01fc7ed-3492-4792-9a0b-e2b52fa10913", "Links": [ { "Title": "Configuration Editor", "Href": "http://localhost/api", "Rel": "Edit" } ] }
Status Code
201 - Created
Create a new External System Link between a project in ET and a project in Jira, synchronizing requirements, and create it with the 'Enabled' state set to false.
Request Headers
Key | Value | Description |
---|---|---|
Content-type | application/json | |
Accept | application/json |
Request Body
{ "Source": { "Key": "Requirement", "Id": null, "FieldValues": { "ProjectId": "3afbe0dd-55ca-419e-b75d-d21c821d7281" } }, "Destination": { "Key": "Synchronization", "Id": "a01fc7ed-3492-4792-9a0b-e2b52fa10913", "FieldValues": { "ProjectId": "12345" } }, "Name": "Project X", "Enabled": false }
Response Headers
Key | Value | Description |
---|---|---|
Location | http://localhost/api/externalsystemlink/a01fc7ed-3492-4792-9a0b-e2b52fa10913 | |
Content-Type | application/json; charset=utf-8 |
Response Body
{ "ExternalSystemId": "b5ee119f-bc44-4b3c-befe-919f2fe3f4f7", "ProjectId": "3afbe0dd-55ca-419e-b75d-d21c821d7281", "ProjectName": null, "Id": "a01fc7ed-3492-4792-9a0b-e2b52fa10913", "Type": "Requirement", "TypeForDisplay": null, "ExternalSystemName": "Rally", "ExternalSystemImplementationType": "Rally", "ExternalSystemConnectionType": null, "Name": "Project X Requirements", "Enabled": false, "LastSynchronizedAt": "2012-01-01T14:04:07Z", "LastDestinationToSourceSynchronizationAt": "2012-01-01T14:04:05Z", "LastSourceToDestinationSynchronizationAt": "2012-01-01T14:04:06Z", "ConfigurationComplete": true, "ConfigurationProblems": [], "AutoSelect": "NotApplicable", "Self": "http://localhost/api/externalsystemlink/a01fc7ed-3492-4792-9a0b-e2b52fa10913", "Links": [ { "Title": "Configuration Editor", "Href": "http://localhost/api", "Rel": "Edit" } ] }
Status Code
201 - Created