There are two endpoints regarding importing tests:
Import Tests | /api/v1/import/test/bulk |
Check import job status | /api/v1/import/test/bulk/{jobId}/status |
The first endpoint is an asynchronous call to import tests. Whenever this endpoint is called, a job is queued to import the tests in the input and its id is returned. The second endpoint can be used to check the status of this job.
Import Tests
When importing tests, you can use the following endpoint:
Create a job to import tests.
Request
PATH PARAMETERS
parameter | type | description |
---|---|---|
project | String | - key or id of the project where the tests without project information are to be imported into. |
Example 1: Tests
[ { "testtype": "Cucumber", "summary": "This tests the addition of 2 numbers.", "project": { "key": "CALC" }, "gherkin_def": "Given I have entered <input_1> into the calculator\nAnd I have entered <input_2> into the calculator\nWhen I press <button>\nThen the result should be <output> on the screen\n\n Examples:\n | input_1 | input_2 | button | output |\n | 20 | 30 | add | 50 |\n | 2 | 5 | add | 7 |\n | 0 | 40 | add | 40 |\n | 1 | 40 | add | 41 |" }, { "testtype": "Manual", "summary": "This tests the Subtraction of two numbers.", "project": { "key": "CALC" }, "steps": [ { "action": "I choose the operation of the calculator *Subtraction*", "data": "", "result": "The operation must appear selected." }, { "action": "I enter the input into the calculator", "data": "I1: 5\nI2: 2", "result": "" }, { "action": "I press the *Calculate* button", "result": "The result *3* should be displayed in the screen, on the right of the \"=\" sign." } ] }, { "testtype": "Generic", "summary": "CanMultiply", "project": { "key": "CALC" }, "unstructured_def": "x.CalculatorTests.CanMultiply" } ]
Example Request
curl -H "Content-Type: application/json" -X POST -H "Authorization: Bearer $token" --data @"data.json" https://xray.cloud.xpand-it.com/api/v1/import/test/bulk
Responses
200 OK : application/json : Successful. The import job was created successfully and the Job Id is provided.
{ "jobId":"34a4106b1d0948d1aae1170cc8df3bb4" }
400 BAD_REQUEST : application/json : No import test job was created. The content may be in the wrong format or a job might already be in progress.
{ "error":"A job to import tests is already in progress (id: 34a4106b1d0948d1aae1170cc8df3bb4)." }
401 UNAUTHORIZED : application/json : The Xray license is not valid.
500 INTERNAL SERVER ERROR : application/json : An internal error occurred when importing execution results.
Check Import Job Status
When checking the status of an import test job, you can use the following endpoint:
Check an import test job status.
Request
PARAMETERS
parameter | type | description |
---|---|---|
jobId | String | - id of the import tests job. |
Example Request
curl -H "Content-Type: application/json" -X POST -H "Authorization: Bearer $token" --data @"data.json" https://xray.cloud.xpand-it.com/api/v1/import/test/bulk/34a4106b1d0948d1aae1170cc8df3bb4/status
Responses
200 OK : application/json : Successful. The job status is available.
Example 1: Job is still working
{ "status": "working", "progress": [ "[Tue, 03 Jul 2018 15:29:08 GMT] Preprocessing the information of the 3 tests to import.", "[Tue, 03 Jul 2018 15:29:08 GMT] Creating 3 issue(s) in JIRA." ] }
Example 2: Job ended in partial success
{ "status": "partially_successful", "result": { "errors": [ { "elementNumber": 1, "errors": { "description": "Operation value must be a string" } } ], "issues": [ { "elementNumber": 0, "id": "12603", "key": "CALC-1", "self": "https://xpandsdcv.atlassian.net/rest/api/2/issue/12603" }, { "elementNumber": 2, "id": "12604", "key": "CALC-2", "self": "https://xpandsdcv.atlassian.net/rest/api/2/issue/12604" } ] } }
404 NOT_FOUND : application/json : Job was not found.
{ "error": "job not found." }
401 UNAUTHORIZED : application/json : The Xray license is not valid.
500 INTERNAL SERVER ERROR : application/json : An internal error occurred when importing execution results.