You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

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

projectString

- key or id of the project where the tests without project information are to be imported into.


Example 1: Tests
Example Input
[
	{
		"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.

Example Output
{
	"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.

Example Output
{
	"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

Example Output
{
    "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

Example Output 2
{
    "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.

Example Output
{
    "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.

  • No labels