Execution results can be imported to Jira through JSON/XML representation formats specified in Import Execution Results.
For each import file format, Xray provides a specific REST endpoint:
Import Tests | /api/v1/import/test/bulk[?project=key_or_Id] |
Check import job status | /api/v1/import/test/bulk/{jobId}/status |
Import Tests
When importing tests you can use the following endpoint:
Create a job to import tests.
Request
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.
{ "status": "working", "progress": [ "Preprocessing the information to import.", "Creating 3 issue(s) in JIRA." ] }
{ "status": "success", "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.