The Xray REST API provides the following endpoints for managing the Test Repository information of a given project.
Hierarchy
- To obtain a list of all Test Repository folders of a given project, including their hierarchy information, you need to specify the key of the respective project.
Returns a JSON object with a list of the folders of the Test Repository.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
projectKey | String | project key |
Example Request
Responses
200 OK : application/json : Successful. Returns a JSON object.
Each folder will provide some information, including:
id
: internal folder Id; "-1" corresponds to the Test Repository root folderrank
: rank of the folder in the parent folder ("1" corresponds to the first element)name
: folder's nametestRepositoryPath
: the full Test Repository path of this folderfolders
: sub-folderstestCount
: count of direct child TeststotalTestCount
: total count of all childs Tests
{ "folders": [ { "id": 6, "rank": 1, "name": "Folder1", "testRepositoryPath": "/Folder1" "folders": [], "testCount": 0, "totalTestCount": 0 }, { "id": 7, "rank": 2, "name": "Folder2", "testRepositoryPath": "/Core", "folders": [ { "id": 8, "rank": 1, "name": "Sub2", "testRepositoryPath": "/Core/UI", "folders": [], "testCount": 1, "totalTestCount": 1 }, { ... } ], "testCount": 0, "totalTestCount": 3 } ], }
400 BAD_REQUEST : text/plain : Returns the error.
401 UNAUTHORIZED : text/plain : The Xray for JIRA license is not valid.
500 INTERNAL SERVER ERROR : text/plain : An internal error occurred getting the folders.
Tests
- To obtain a list of the Tests associated with the Test Repository of a given project, you need to specify the key of project
- To list the Tests contained within a given Test Repository folder, you need to specify its folderId besides the project key
Return a JSON object with a list of the Tests contained in a given folder of the Test Repository.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
projectKey | String | project key |
folderId | integer | internal folder Id; "-1" corresponds to the root folder of the Test Repository |
QUERY PARAMETERS
parameter | type | description |
---|---|---|
allDescendants | boolean | include all descendants (i.e. all child Tests); "false", by default |
Request examples
curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testrepository/<projectKey>/folders/<folderId>/tests
curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver//rest/raven/1.0/api/testrepository/<projectKey>/folders/<folderId>/tests?allDescendants=true
Responses
200 OK : text/plain : Successful. Returns a JSON object containing the Tests.
Each test will provide some information, including:
id
: internal Test Idkey
: Test's issue keysummary
: Test's summary- assignee: Test's issue assignee
rank
: rank of the Test in the parent folder ("1" corresponds to the first element)workflowStatus
: Test's workflow status- labels: array of all Test's assigned labels
components
: array of all Test's assigned componentstestType
: Test type (e.g. "Manual", "Cucumber, "Generic")
{ "tests": [ { "id": 24300, "key": "FP-10", "summary": "Issue test create inside folder", "assignee": "", "rank": 1, "workflowStatus": "Open", "labels": [], "components": [], "testType": "Manual", }, { "id": 24301, "key": "FP-11", "summary": "Issue test create inside folder", "assignee": "", "rank": 2, "workflowStatus": "Open", "labels": [], "components": [], "testType": "Manual", }, { ... } ], "total": 3, }
{ "tests": [ { "id": 24300, "key": "FP-10", "summary": "Issue test create inside folder", "assignee": "", "rank": 1, "workflowStatus": "Open", "labels": [], "components": [], "testType": "Manual", }, { "id": 24301, "key": "FP-11", "summary": "Issue test create inside folder", "assignee": "", "rank": 1, "workflowStatus": "Open", "labels": [], "components": [], "testType": "Manual", }, { ... } ], "total": 3, }
400 BAD_REQUEST : text/plain : Returns the error.
401 UNAUTHORIZED : text/plain : The Xray for JIRA license is not valid.
500 INTERNAL SERVER ERROR : text/plain : An internal error occurred getting the tests.
FOLDERS XXXXXXXX
- To view the Tests associated with a Test Execution, you need to specify the key of the Test Execution you want to view.
- To associate or remove a Test from a Test Execution, you need to send a JSON with a list of the keys. When associating, these keys can be Test keys or Test Set keys; when removing, they have to be Test keys.
- To remove a Test from a Test Execution, you need to specify the key of the Test you wish to remove.
Returns a JSON object with folder information.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
projectKey | String | project key |
folderId | integer | internal folder Id |
Request example
curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testrepository/FP/folders/6
Responses
200 OK : text/plain : Successful. Returns a JSON object.
{ "id": 6, "rank": 1, "name": "Folder1", "testRepositoryPath": "/Folder1" "testCount": 0, "totalTestCount": 0 }
400 BAD_REQUEST : text/plain : Returns the error.
401 UNAUTHORIZED : text/plain : The Xray for JIRA license is not valid.
500 INTERNAL SERVER ERROR : text/plain : An internal error occurred getting the folder.
Returns a JSON object with folder information.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
projectKey | String | project key |
folderId | integer | internal folder Id; "-1" corresponds to the root folder of the Test Repository |
Example
{ "name": "Folder1" }
Request example
curl -H "Content-Type: application/json" -X POST -u admin:admin --data @example.json http://yourserver/rest/raven/1.0/api/testrepository/FP/folders/-1
Responses
200 OK : text/plain : Successful. Returns a JSON object.
{ "id": 6, "rank": 1, "name": "Folder1", "testRepositoryPath": "/Folder1" "testCount": 0, "totalTestCount": 0 }
400 BAD_REQUEST : text/plain : Returns the error.
401 UNAUTHORIZED : text/plain : The Xray for JIRA license is not valid.
500 INTERNAL SERVER ERROR : text/plain : An internal error occurred getting the folder.
Returns a JSON object with folder information.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
projectKey | String | project key |
folderId | integer | internal folder Id |
Example
{ "name": "Folder1", "rank": 4 }
Request example
curl -H "Content-Type: application/json" -X PUT -u admin:admin --data @example.json http://yourserver/rest/raven/1.0/api/testrepository/FP/folders/6
Responses
200 OK : text/plain : Successful. Returns a JSON object ????
{ "id": 6, "rank": 1, "name": "Folder1", "testRepositoryPath": "/Folder1" "testCount": 0, "totalTestCount": 0 }
400 BAD_REQUEST : text/plain : Returns the error.
401 UNAUTHORIZED : text/plain : The Xray for JIRA license is not valid.
500 INTERNAL SERVER ERROR : text/plain : An internal error occurred getting the folder.
Add/remove tests to/from the given Test Repository folder. Returns error messages, if there are any.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
projectKey | String | project key |
folderId | integer | internal folder Id |
Example
{ "add": [ "CALC-33", "CALC-75" ], "remove": [ "CALC-25", "CALC-45" ] }
Example Request
Responses
200 OK : text/plain : Successful. Return error messages, if there are any.
["Issue with key CALC-33 not found or is not of type Test."]
400 BAD_REQUEST : text/plain : Returns the error.
401 UNAUTHORIZED : text/plain : The Xray for JIRA license is not valid.
500 INTERNAL SERVER ERROR : text/plain : An internal error occurred associating the tests.
Remove folder from the Test Repository.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
projectKey | String | project key |
folderId | integer | internal folder Id |
Example Request
Responses
200 OK : text/plain : Successful.
400 BAD_REQUEST : text/plain : Returns the error.
401 UNAUTHORIZED : text/plain : The Xray for JIRA license is not valid.
500 INTERNAL SERVER ERROR : text/plain : An internal error occurred removing the test.