Our documentation site has been updated to AIO Tests Knowledge Base
REST APIs
The AIO Tests REST APIs provide programmatic integration with AIO Tests from any test framework in any language.
AIO Tests exposes endpoints to create execution cycles, report status for test case executions and get cycle details and summary for external reporting. The REST APIs give the flexibility to seamlessly integrate your automated tests, written in any language, into AIO Tests and get a single view of all automated and manual execution at one place.
This article explains the authorization mechanism and gives an overview of the available APIs.
- 1 Getting started
- 1.1 Cloud
- 1.1.1 URL
- 1.1.2 Authentication
- 1.1.3 Swagger documentation
- 1.2 Server / Data Center
- 1.2.1 URL
- 1.2.2 Authentication
- 1.2.3 Swagger documentation
- 1.1 Cloud
- 2 API Details
- 3 Postman Collection
Getting started
Cloud
URL
The APIs are available at the following base URL: https://tcms.aiojiraapps.com/aio-tcms/api/v1/
The older API URL has been deprecated (https://tcms.aioreports.com/aio-tcms/api/v1/
). It will continue to work but it is recommended to move to the new base URL.
Authentication
Requests made to AIO Tests REST APIs must be authenticated with an Access Token. More information is available here.
Swagger documentation
AIO Tests APIs can be tried out at this Swagger page - AIO Tests Swagger
This page can be easily access by clicking on the gear icon on top right of the app and clicking ‘API Reference’.
Authorization token generated can be used using the Authorize button in Swagger page.
Server / Data Center
URL
The APIs are available at following base URL: https://<jira_server_hostname>/<jira_context_path>/rest/aio-tcms-api/1.0/
For ex: If Jira is hosted on https://jira8.aiojiraapps.com
, then REST APIs will be available at https://jira8.aiojiraapps.com/rest/aio-tcms-api/1.0/
.
Authentication
Requests made to AIO Tests REST APIs must be authenticated via Basic authentication or PAT authentication. More information is available here.
Swagger documentation
AIO Test APIs can be tried out via Swagger page.
This page can be easily access by clicking on the gear icon on top right of the app and clicking ‘API Reference’.
APIs available in the Swagger documentation depends on the AIO Tests plugin version you have installed.
Click on Authorize button in Swagger page to provide Jira Username and Password (Basic Authentication) to authenticate and try out the APIs.
API Details
The following AIO Tests APIs have been exposed. Details around each of these APIs can be found in Swagger documentation.
Configuration - Get Project level configuration (Statuses, Folders, Tags etc.)
Tags of the project - get list of the Tags (ID and Name) defined within AIO Tests for a given Jira Project. These details can be used to attach specific tags while creating new cycles.
Case Status list - get a list of the available Case Statuses (Draft, Published, Deprecated, etc.)
Case Automation Status list - get a list of the Case Automation Statuses (Manual, To Be Automated, Automated, etc.)
Case Type list - get a list of the Case Types defined for the project (Unit, Integration, Functional, etc.)
Case Priority list - get a list of the Case Priorities defined for the project (Critical, High, Low, etc.)
Case Script Type list - get a list of the Case Priorities defined for the project (Classic, BDD/Gherkin etc.)
Run Status list - get a list of the available Run Statuses (Passed, Failed, Blocked, etc.). These IDs can be used while updating status of existing cases in a cycle or to understand the test run distribution returned by the Get Cycle Summary call.
Project Configuration - get all project configuration in one call. The response will return list of Case Status, Case Automation Status, Case Type, Case Priority, Case Script Type, Run Status.
Cycle Information - following GET calls can be used to get different details of a cycle
Cycle Details - get cycle metadata like folder, tags, name etc.
Cycle Summary - get cycle summary details like estimated and actual effort, total cases and run status distribution
Cycle List - get paginated list of Cycles under the Project.
Search Cycle - get paginated list of Cycles matching the provided search criteria.
Cycles Folder Tree - get the folder tree for Cycles. The IDs of the folders can be used to create new cycles in specific folders
Cases of a Cycle - get a paginated list of Cases associated with the specified Cycle. It will also return the latest run information for the Case like run status, associated defects, etc.
Latest Run information of Case in Cycle - get the latest Run details of a Case in a Cycle. This API can be used to check the Run status, Actual Effort etc.
Cycle Operations - Cycle operations like creating a cycle and deletion of cycle
Create new cycle - A new cycle gets created with details about the cycle
Create new cycle from set - A new cycle gets created and cases from the set are added to the cycle
Execution Results & Case/Run management - following actions can be performed via this API call
Add Case to a Cycle - existing cases can be added to a Cycle
Add new Run for an existing Cases in a Cycle - new runs can be added for cases already in the Cycle
Add case or run and mark basic result of case in cycle - mark execution results for cases/runs in a Cycle
Get Case Association list - get paginated list of all Case association (Case, Association and Latest Run) in a Cycle.
Get all Cases with all runs - get paginated list of all Runs grouped by Case Association in a Cycle.
Get Latest Run - get latest Run for a Case in a Cycle.
Get run details by run id - get all details of a specific run in a testcase
Attach evidence to latest test run of case - attach files to a case execution
Attach evidence to run by run ID - attach files to a specific run
Attach evidence to a step in a run - attach files to a specific step in a run
Update entire run including steps - update comments, defects, status, actual results at run and step level
Import Automated Test Results - this API can be used for uploading test automation execution results
Reset a run - reverts a run to original status of Not Run and removes all artifacts
Case Information - following GET calls can be used to get the list of cases and details of a case and mapping for different attributes defined for the project
Case Details - get case metadata like folder, tags, title, owner, status, etc.
Create Case - create a case with basic details
Case List - get paginated list of cases for the given project key
Search Case - get paginated list of Cases matching the provided search criteria.
Traceability - this call returns traceability information for specified Jira Issue ID
Traceability information - get list of Cases associated with a Requirement/Jira issue ID. It will also return the latest Run information for the Case. Runs will be sorted in Descending order of Created date
Migration - these calls can be used to migrate data
Migrate Run - Migrate Run to for a Case to a Cycle. This allows creating a back dated entry for the Run.
Postman Collection
You can also use the below sample Postman Collection to try out the Public APIs.
Download and Import the collection into Postman.
In Postman collection, few collection level variables have been defined. Either update the variables directly in the requests or navigate to Edit Collection and update the variable values as per your Jira instance values (Refer to the below screen shot).