×

You're using an outdated browser

For a better experience, keep your browser up to date. Check here for the latest version.

Manual

Integration actions

Matthias Gaiser

Matthias Gaiser Last update: Sep 19, 2017

Info

Please make sure to read the Introduction to the REST API before starting to use it.

This page describes all rest endpoints which are related to one or multiple integrations.

MethodURLDescription
GET/integrationsReturns an array of all Backbone integrations in this JIRA including status information.
GET/integrations/{integrationKey}Returns all details about a single integration.
GET/integrations/{integrationKey}/statusReturns the status of a single integration.
GET/integrations/{integrationKey}/conflictsReturns all validation conflicts for a single integration.
POST/integrations/{integrationKey}/startStarts a single integration.
POST/integrations/{integrationKey}/stopStop a single integration.
POST/integrationsCreates a new integration
PUT/integrations/{integrationKey}Updates an existing integration.
DELETE/integrations/{integrationKey}Deletes an integration.

Detailed description

 Get all integrations

GET /integrations

Retrieve all Backbone integrations of this JIRA instance.

URL ParameterDescriptionDefaultRequired
projectKeyKey of a JIRA project. If defined, only the integrations for this instance will be returned.- 

Response

The endpoint will return a list of integrations matching your (optionally defined) filter criteria.

[
  {
    "createdUser": "admin",
    "lastModifiedUser": "admin",
    "createdDate": "2016-11-10T11:07:10+0100",
    "lastModifiedDate": "2016-11-10T11:07:10+0100",
    "integrationKey": "INT-16",
    "summary": "Agile Project <> Project B",
    "description": "This integration synchronizes issues between project Agile Project (AP) and project Project B (PB)",
    "status": {
      "status": "STOPPED",
      "firstConnector": {
        "connectorKey": "AP-29",
        "online": true,
        "reconnecting": false,
        "incomingRouteStatus": "STOPPED",
        "incomingProcessingStatus": "IDLE",
        "incomingDetails": "",
        "outgoingRouteStatus": "STOPPED",
        "outgoingProcessingStatus": "IDLE",
        "outgoingDetails": "",
        "externalRouteStatus": "STOPPED",
        "issuesInError": 0
      },
      "secondConnector": {
        "connectorKey": "PB-30",
        "online": true,
        "reconnecting": false,
        "incomingRouteStatus": "STOPPED",
        "incomingProcessingStatus": "IDLE",
        "incomingDetails": "",
        "outgoingRouteStatus": "STOPPED",
        "outgoingProcessingStatus": "IDLE",
        "outgoingDetails": "",
        "externalRouteStatus": "STOPPED",
        "issuesInError": 0
      }
    },
    "firstConnector": {
      "createdUser": "admin",
      "lastModifiedUser": "admin",
      "createdDate": "2016-11-10T11:07:10+0100",
      "lastModifiedDate": "2016-11-10T11:07:10+0100",
      "connectorKey": "AP-29",
      "projectKey": "AP",
      "connection": {
        "application": {
          "baseUrl": "http://localhost:8080",
          "user": "backbone"
        },
        "connector": {
          "sendQueue": {
            "@type": "vm",
            "name": "AP-29_PB-30"
          },
          "receiveQueue": {
            "@type": "vm",
            "name": "PB-30_AP-29"
          },
          "initialInternalPollingDelay": 1000,
          "internalPollingInterval": 1000
        }
      }
    },
    "secondConnector": {
      "createdUser": "admin",
      "lastModifiedUser": "admin",
      "createdDate": "2016-11-10T11:07:10+0100",
      "lastModifiedDate": "2016-11-10T11:07:10+0100",
      "connectorKey": "PB-30",
      "projectKey": "PB",
      "connection": {
        "application": {
          "baseUrl": "http://localhost:8081/jira2",
          "user": "backbone"
        },
        "connector": {
          "sendQueue": {
            "@type": "vm",
            "name": "PB-30_AP-29"
          },
          "receiveQueue": {
            "@type": "vm",
            "name": "AP-29_PB-30"
          },
          "initialInternalPollingDelay": 1000,
          "internalPollingInterval": 1000
        }
      }
    }
  },
  {
    "createdUser": "admin",
    "lastModifiedUser": "backbone",
    "createdDate": "2016-10-10T16:36:31+0200",
    "lastModifiedDate": "2016-10-10T16:44:06+0200",
    "integrationKey": "INT-15",
    "summary": "Some project",
    "description": "This is the integration between Some project and the integration partner.",
    "distributed": true,
    "master": true,
    "partnerProjectType": "business",
    "status": {
      "status": "RUNNING",
      "firstConnector": {
        "connectorKey": "SP-28",
        "startTime": 1484063311224,
        "online": true,
        "reconnecting": false,
        "incomingRouteStatus": "STARTED",
        "incomingProcessingStatus": "IDLE",
        "incomingDetails": "",
        "outgoingRouteStatus": "STARTED",
        "outgoingProcessingStatus": "IDLE",
        "outgoingDetails": "",
        "externalRouteStatus": "STARTED",
        "issuesInError": 0
      }
    },
    "firstConnector": {
      "createdUser": "admin",
      "lastModifiedUser": "backbone",
      "createdDate": "2016-10-10T16:44:06+0200",
      "lastModifiedDate": "2017-01-10T16:48:31+0100",
      "connectorKey": "SP-28",
      "projectKey": "SP",
      "connection": {
        "application": {
          "baseUrl": "http://localhost:8080",
          "user": "backbone"
        },
        "connector": {
          "sendQueue": {
            "@type": "file",
            "path": "INT-15/SEND"
          },
          "receiveQueue": {
            "@type": "file",
            "path": "INT-15/RECEIVE"
          },
          "initialInternalPollingDelay": 1000,
          "internalPollingInterval": 1000
        }
      }
    }
  }
]

 Get a single integration

GET /integrations/{integrationKey}

Retrieve all details about a single Backbone integration.

URL ParameterDescriptionDefaultRequired
integrationKeyKey of the Backbone Integration. You can get this from the "get integrations" endpoint.-(tick)


Example Response

The endpoint will return all details about the integration with the given integrationKey. In this response, you can identify. e.g. the connector keys needed for additional calls to the connector endpoints. Simply locate the connectorKey and check if it starts with your project key to see if you have the right one.

 {
  "createdUser": "admin",
  "lastModifiedUser": "admin",
  "createdDate": "2017-05-17T07:46:24+0200",
  "lastModifiedDate": "2017-05-17T07:46:24+0200",
  "integrationKey": "INT-2",
  "summary": "Project A <> Project B",
  "description": "This integration synchronizes issues between project Project A (PA) and project Project B (PB)",
  "firstConnector": {
    "createdUser": "admin",
    "lastModifiedUser": "admin",
    "createdDate": "2017-05-17T07:46:24+0200",
    "lastModifiedDate": "2017-05-17T07:46:24+0200",
    "connectorKey": "PA-2",
    "projectKey": "PA",
    "projectConnectorKey": "k15t.backbone.syncinfo.639105c0-0c5c-40c6-91ed-10429b674728",
    "connection": {
      "application": {
        "baseUrl": "http://localhost:8510/jira",
        "user": "backbone"
      },
      "connector": {
        "sendQueue": {
          "@type": "file",
          "path": "INT-2/PA-2_to_PB-3"
        },
        "receiveQueue": {
          "@type": "file",
          "path": "INT-2/PB-3_to_PA-2"
        },
        "initialInternalPollingDelay": 1000,
        "internalPollingInterval": 1000
      }
    },
    "configuration": {
      "sync": {
        "outgoingJqls": [],
        "outgoingInterval": "5s",
        "incomingInterval": "5s",
        "automaticConflictResolution": false
      },
      "advanced": {
        "archivedMessagesPerIssue": 2,
        "discardedMessagesPerIssue": 2,
        "sequenceErrorRetries": 5
      },
      "fieldDefaults": [],
      "issueTypeMappings": {
        "incoming": [],
        "outgoing": []
      },
      "fieldMappings": [],
      "workflowMappings": [
        {
          "id": "##GLOBAL##"
        }
      ]
    }
  },
  "secondConnector": {
    "createdUser": "admin",
    "lastModifiedUser": "admin",
    "createdDate": "2017-05-17T07:46:24+0200",
    "lastModifiedDate": "2017-05-17T07:46:24+0200",
    "connectorKey": "PB-3",
    "projectKey": "PB",
    "projectConnectorKey": "k15t.backbone.syncinfo.d8705c91-4023-4012-9e7e-fcdcf6399df0",
    "connection": {
      "application": {
        "baseUrl": "http://localhost:8510/jira",
        "user": "backbone"
      },
      "connector": {
        "sendQueue": {
          "@type": "file",
          "path": "INT-2/PB-3_to_PA-2"
        },
        "receiveQueue": {
          "@type": "file",
          "path": "INT-2/PA-2_to_PB-3"
        },
        "initialInternalPollingDelay": 1000,
        "internalPollingInterval": 1000
      }
    },
    "configuration": {
      "sync": {
        "outgoingJqls": [],
        "outgoingInterval": "5s",
        "incomingInterval": "5s",
        "automaticConflictResolution": false
      },
      "advanced": {
        "archivedMessagesPerIssue": 2,
        "discardedMessagesPerIssue": 2,
        "sequenceErrorRetries": 5
      },
      "fieldDefaults": [],
      "issueTypeMappings": {
        "incoming": [],
        "outgoing": []
      },
      "fieldMappings": [],
      "workflowMappings": [
        {
          "id": "##GLOBAL##"
        }
      ]
    }
  }
}

 Start an integration

POST /integrations/{integrationKey}/start

Starts the integration with the given integrationKey asynchronously.

URL ParameterDescriptionDefaultRequired
integrationKey Key of the Backbone Integration. - (tick)

You don't need to provide a body with your request.

Example Result

The endpoint will return an asynchronous task response, the result of this call can be retrieved via the asynchronous tasks resource.

{
    "id": "53A90124015DAC398C292BBD70979338",
    "startTimestamp": "Aug 04, 2017 -- 09:50 AM",
    "finished": false,
    "cancelled": false,
    "hasFailed": false,
    "failureMessage": null,
    "progress": 0,
    "message": "The task has been started.",
    "resourceLocation": null
}

 Stop an integration

POST /integrations/{integrationKey}/stop

Stops the integration with the given integrationKey asynchronously.

URL ParameterDescriptionDefaultRequired
integrationKey Key of the Backbone Integration. - (tick)

You don't need to provide a body with your request.

Example Result

The endpoint will return an asynchronous task response, the result of this call can be retrieved via the asynchronous tasks resource.

{
    "id": "53A90124015DAC398C292BBD70979338",
    "startTimestamp": "Aug 04, 2017 -- 09:50 AM",
    "finished": false,
    "cancelled": false,
    "hasFailed": false,
    "failureMessage": null,
    "progress": 0,
    "message": "The task has been started.",
    "resourceLocation": null
}

 Create an integration

POST /integrations

Creates a new integration.

URL ParameterDescriptionDefaultRequired
none   

In order to access the endpoint successfully, you need to provide a request entity as JSON. This entity needs the following parameter:

Entity ParameterTypeDescriptionDefaultRequired

summary

stringThe name of the integration.-(tick)

description

stringA more detailed description of the integration.- 

firstConnector.projectKey

stringThe key of the project. (tick)

firstConnector.connection.application.baseUrl

stringA url to connect via REST to the JIRA instance. (tick)

firstConnector.connection.application.user

string The integration user to use.  (tick)

firstConnector.connection.application.password

stringThe password for the integration user.- (tick)

The secondConnector parameters correspond to the firstConnector ones.

Example Request

{
  "summary": "Project A <> Project B (REST)",
  "description": "This integration synchronizes issues between project Project A (PA) and project Project B (PB)",
  "firstConnector": {
    "projectKey": "PA",
    "connection": {
      "application": {
        "baseUrl": "http://localhost:8510/jira",
        "user": "backbone",
        "password": "backbone"
      }
    }
  },
  "secondConnector": {
    "projectKey": "PB",
    "connection": {
      "application": {
        "baseUrl": "http://localhost:8510/jira",
        "user": "backbone",
        "password": "backbone"
      }      
    }
  }
}

Example Result

The endpoint will return the integration including filled default values, e.g. for the integrationKey and the connectorKeys.

{
  "createdUser": "admin",
  "lastModifiedUser": "admin",
  "createdDate": "2017-05-17T08:01:37+0200",
  "lastModifiedDate": "2017-05-17T08:01:37+0200",
  "integrationKey": "INT-3",
  "summary": "Project A <> Project B (REST)",
  "description": "This integration synchronizes issues between project Project A (PA) and project Project B (PB)",
  "firstConnector": {
    "createdUser": "admin",
    "lastModifiedUser": "admin",
    "createdDate": "2017-05-17T08:01:37+0200",
    "lastModifiedDate": "2017-05-17T08:01:37+0200",
    "connectorKey": "PA-4",
    "projectKey": "PA",
    "projectConnectorKey": "k15t.backbone.syncinfo.8ddf109d-44d5-41a0-b74e-905d1302c809",
    "connection": {
      "application": {
        "baseUrl": "http://localhost:8510/jira",
        "user": "backbone"
      },
      "connector": {
        "sendQueue": {
          "@type": "file",
          "path": "INT-3/PA-4_to_PB-5"
        },
        "receiveQueue": {
          "@type": "file",
          "path": "INT-3/PB-5_to_PA-4"
        },
        "initialInternalPollingDelay": 1000,
        "internalPollingInterval": 1000
      }
    },
    "configuration": {
      "sync": {
        "outgoingJqls": [],
        "outgoingInterval": "5s",
        "incomingInterval": "5s",
        "automaticConflictResolution": false
      },
      "advanced": {
        "archivedMessagesPerIssue": 2,
        "discardedMessagesPerIssue": 2,
        "sequenceErrorRetries": 5
      },
      "fieldDefaults": [],
      "issueTypeMappings": {
        "incoming": [],
        "outgoing": []
      },
      "fieldMappings": [],
      "workflowMappings": [
        {
          "id": "##GLOBAL##"
        }
      ]
    }
  },
  "secondConnector": {
    "createdUser": "admin",
    "lastModifiedUser": "admin",
    "createdDate": "2017-05-17T08:01:37+0200",
    "lastModifiedDate": "2017-05-17T08:01:37+0200",
    "connectorKey": "PB-5",
    "projectKey": "PB",
    "projectConnectorKey": "k15t.backbone.syncinfo.3545b1cc-bf5e-4305-8b98-b98d356430bc",
    "connection": {
      "application": {
        "baseUrl": "http://localhost:8510/jira",
        "user": "backbone"
      },
      "connector": {
        "sendQueue": {
          "@type": "file",
          "path": "INT-3/PB-5_to_PA-4"
        },
        "receiveQueue": {
          "@type": "file",
          "path": "INT-3/PA-4_to_PB-5"
        },
        "initialInternalPollingDelay": 1000,
        "internalPollingInterval": 1000
      }
    },
    "configuration": {
      "sync": {
        "outgoingJqls": [],
        "outgoingInterval": "5s",
        "incomingInterval": "5s",
        "automaticConflictResolution": false
      },
      "advanced": {
        "archivedMessagesPerIssue": 2,
        "discardedMessagesPerIssue": 2,
        "sequenceErrorRetries": 5
      },
      "fieldDefaults": [],
      "issueTypeMappings": {
        "incoming": [],
        "outgoing": []
      },
      "fieldMappings": [],
      "workflowMappings": [
        {
          "id": "##GLOBAL##"
        }
      ]
    }
  }
}

 Delete an integration

DELETE /integrations/{integrationKey}

Delete the Backbone integration identified by the integrationKey.

URL ParameterDescriptionDefaultRequired
integrationKeyKey of the Backbone Integration. You can get this from the "get integrations" endpoint.-(tick)


Response

The endpoint will respond with a HTTP 200 if successful.

2x3.8
We use cookies to create a secure and effective browsing experience for our website visitors and to understand how you use our site (i.e. Google Analytics). For more information: click here.
Ok