REST API
Overview
Enterprise Tester provides a REST API (Application Programming Interface) that can be used for retrieving and manipulating Enterprise Tester data without having to interact with the user interface.
There are many use cases for the API, but some common examples include:
- Building new clients for Enterprise Tester i.e. Mobile.
- Automating the recording, upload or updating of test execution information (including automated test results).
- Synchronizing Data in 3rd party systems with Enterprise Tester (such as Synchronizing Requirements with a document management system).
- Complex report generation - Enterprise Tester's API allows you to harness the full power of the TQL (Testing Query Language) including aggregation support.
- Mashups of Enterprise Tester and other applications with API's (such as the Atlassian toolset).
The REST API is based on open standards, and you can use any web development language to access the API, or a tool such as CURL to make simple requests.
Enterprise Tester's REST API provides a way for applications to access resources (Entities) via a URI (Uniform Resource Identifier) e.g. a path.
To use the REST API your application will make an HTTP request and then parse the response which may include a payload as well as a status indicating if the request was succeedful.
Enterprise Tester's API uses JSON (JavaScript Object Notation) as the default format for its entities, and standard HTTP methods such as GET, POST, PUT and DELETE (Analogous to Read, Create, Update and Delete i.e. CRUD) to perform actions on those entities. Note: Not all resources support all HTTP methods, see the Resources list for a description of each resource, the methods it supports, and whether TQL or OData querying methods are supported.
URI Structure
Enterprise Testers URIs have the following structure:
http://host:port/applicationpath/api/resource-name
In the resource help topics the URI templates are displayed like so:
/api/project/{id}
Values surrounded by braces (such as {id} above) are parameter substitutions, where this part of the URI would be replaced with an appropriate value. All URI's already include the required /api fragment as well, and the examples included with each method supported by a resource show these parameters with example values.
So for a local instance of Enterprise Tester, to GET the details of a single project you would take the template above, replace the ID parameter, and prepend the site's base path (also called the application path, or site.root.url in the Enterprise Tester documentation) - after which you may end up with a URI that looks like this:
http://localhost/EnterpriseTester/api/project/a1d44feb-01b5-4f85-a18d-a03f00be87f6
Permissions
There is no specific permission required to use the API - Any Enterprise Tester user can access the API, but the features they can use will be limited by the permissions they have been granted. Each Resource topic lists the necessary permissions (if any) required to access the resource, and a summary of all resources with associated permissions required for each HTTP method are available in the Permissions topic.
Getting Started
To get started with the API, please refer to the Resources list, this provides the list of Resources (Entities) currently exposed, along with the methods they support and examples of requests and responses, including parameters, headers and status codes.
We also have a section where common features of the API are discussed, which can provide useful background information for those trying to develop against the Enterprise Tester API.
We have also posted some tips and guides on how to use the API on the Catch Software Blogs.
Feedback
We would love to hear your feedback and feature requests on the API - Catch Software are working hard to make it as easy as possible to extend Enterprise Tester. Get in touch with our Support Team, we would love to hear how you are using the API, what's worked well and what could be improved.