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.

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 - https://tcms.aiojiraapps.com/aio-tcms/aiotcms-static/api-docs/
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

  • Execution Results & Case/Run management - following actions can be performed via this API call

  • 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).