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 asynchrinous call to import tests.
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 importing tests you can use the following endpoint:
Check an import test job status.
Request
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 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.