The Xray REST API provides the following endpoints for managing the Test Repository information of a given project.
Folders
- To obtain a list of all the folders associated with the Test Repository of a given project, you need to specify the key of 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; 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 |
Example Request
curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testrepository/<projectKey>/folders/<folderId>/tests
Example Request
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.
XXXX
- 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.
Return a json with a list of the test associated with the test execution.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
testExecKey | String | - key of the test execution. |
QUERY PARAMETERS
parameter | type | description |
---|---|---|
detailed | boolean | - if true will display detailed information about the test run |
Example Request
curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testexec/TEST-123/test
curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testexec/TEST-123/test?detailed=true
Responses
200 OK : text/plain : Successful. Return a json.
[ { "id":204, "key":"CALC-10", "rank":1, "status":"FAIL" }, { "id":205, "key":"CALC-44", "rank":2, "status":"FAIL" }, { "id":326, "key":"CALC-66", "rank":3, "status":"TODO" }, { "id":380, "key":"CALC-42", "rank":4, "status":"TODO" } ]
[ { "id":204, "status":"FAIL" "assignee":"admin", "executedBy":"admin", "startedOn":"Friday 10:13 AM", "finishedOn":"Friday 10:13 AM", "defects":[ { "id":10607, "key":"PER-71", "summary":"1234", "status":"Open" } ], "evidences":[ { "id":25, "fileName":"stepsDATA.csv", "fileSize":"0,1 kB", "created":"Friday 10:16 AM", "author":"admin", "fileURL":"http://localhost:5980/testJira/plugins/servlet/raven/attachment/25/stepsDATA.csv" } ], "key":"PER-46", "rank":1 }, { "id":60, "status":"FAIL", "executedBy":"admin", "startedOn":"Friday 10:13 AM", "finishedOn":"Friday 10:13 AM", "defects":[ ], "evidences":[ ], "key":"PER-41", "rank":2 }, { "id":61, "status":"ABORTED", "executedBy":"blake", "startedOn":"Friday 10:13 AM", "finishedOn":"Friday 10:13 AM", "defects":[ ], "evidences":[ ], "key":"PER-33", "rank":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.
Associate tests with the test execution. Return error messages, if there are any.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
testExecKey | String | - key of the test execution. |
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-99 not found or is not of type Test or Test Set."]
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 test from the test execution.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
testExecKey | String | - key of the test execution. |
testKey | String | - key of the test. |
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.