Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Xray REST API provides the following endpoints for managing the Test Repository information of a given project. 

...

Some endpoints support pagination, using the page and limit query parameters.

Hierarchy

  • To obtain a list of all the folders associated with the Test Repository folders of a given project, including their hierarchy information, you need to specify the key of the respective project.

Expand
titleGET /rest/raven/1.0/api/testrepository/<projectKey>/folders
Panel
borderColor#ccc
borderStylesolid

Returns a JSON object with a list of the folders of the Test Repository.

Request

PATH PARAMETERS
parametertypedescription
projectKeyString

project key

Tip
titleExample Request
curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testrepository/<projectKey>/folders

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 folder
  • rank: rank of the folder in the parent folder ("1" corresponds to the first element)
  • name: folder's name
  • testRepositoryPath: the full Test Repository path of this folder
  • folders: sub-folders
  • testCount: count of direct child Tests
  • totalTestCount: total count of all childs Tests

Code Block
titleExample Output
{
"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.

...

  • 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 obtain a list of the Tests contained within a given Test Repository folder, you need to specify its folderId, besides the project key
  • To change (add/remove) Tests to a given folder, you need to specify the key of the respective project

Expand
titleGET /rest/raven/1.
Expand
title GET /rest/raven/1.0/api/testrepository/<projectKey>/folders/<folderId>/tests
Panel
borderColor#ccc
borderStylesolid

Return Returns a JSON object with a list of the Tests contained in a given folder of the Test Repository.

This endpoint supports pagination.

Request

PATH PARAMETERS
parametertypedescription
projectKeyString

project key

folderIdintegerIntegerinternal folder Id; "-1" corresponds to the root folder of the Test Repository


QUERY PARAMETERS
parametertypedescription
allDescendants
boolean
Boolean

include all descendants (i.e. all child Tests); "false", by default

pageIntegerpage of paginated data (first 1)
limitIntegeramount of Tests per paginated data
title
Tip
titleRequest examples

curl

Tip
titleExample Request

curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testrepository/<projectKey>/folders/<folderId>/tests

Tip

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 Id
  • key: Test's issue key
  • summary: 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 components
  • testType: Test type (e.g. "Manual", "Cucumber, "Generic")


Code Block
titleOutput example for listing only the direct descendants of a given folder
{
 "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,
}
Code Block
titleOutput example for listing all descendants of a given folder
{
 "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.
Expand
titlePUT /rest/raven/1.0/api/testrepository/<projectKey>/folders/<folderId>/tests
Panel
borderColor#ccc
borderStylesolid

Add/remove tests to/from the given Test Repository folder. Returns error messages, if there are any.

Request

PATH PARAMETERS
parametertypedescription
projectKeyString

project key

folderIdintegerinternal folder Id
Example
Code Block
titleExample Input
{
 "add": [
    "CALC-33",
    "CALC-75"
  ],
  "remove": [
    "CALC-25",
    "CALC-45"
  ]
}
Tip
titleRequest example
Expand
titleGET /rest/raven/1.0/api/testexec/{testExecKey}/test
QUERY PARAMETERS
Panel
borderColor#ccc
borderStylesolid

Return a json with a list of the test associated with the test execution.

Request

PATH PARAMETERS
parametertypedescription
testExecKeyString

- key of the test execution.

parametertypedescription
detailedboolean

- if true will display detailed information about the test run

Tip
titleExample Request
curl -H "Content-Type: application/json" -X GET PUT -u admin:admin --data @example.json http://yourserver/rest/raven/1.0/api/testexectestrepository/TEST-123/testcurl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testexec/TEST-123/test?detailed=trueFP/folders/9/tests


Responses

200 OK : text/plain : Successful. Return a jsonerror messages, if there are any.

Code Block
titleExample Output
[
   {
      "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"
   }
]"Issue with key CALC-33 not found or is not of type Test."]

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.

Folders

  • To obtain or update information about a given Test Repository folder, you need to specify both the project key and the internal folder Id
  • To remove a folder from the Test Repository,  you need to specify both the project key and the internal folder Id


Expand
titleGET /rest/raven/1.0/api/testrepository/<projectKey>/folders/<folderId>
Panel
borderColor#ccc
borderStylesolid

Returns a JSON object with folder information.

Request

PATH PARAMETERS
parametertypedescription
projectKeyString

project key

folderIdintegerinternal folder Id
Tip
titleRequest example

curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testrepository/FP/folders/6

Responses

200 OK : application/json : Successful. Returns a JSON object.

Code Block
titleOutput example
{
  "id": 6,
  "rank": 1,
  "name": "Folder1",
  "testRepositoryPath": "/Folder1"
  "testCount": 0,
  "totalTestCount": 0
}


400 BAD_REQUEST : text/plain : Returns the error.

401 UNAUTHORIZED : text/plain : The Xray license is not valid.

500  INTERNAL SERVER ERROR : text/plain : An internal error occurred getting the folder.

Expand
titlePOST /rest/raven/1.0/api/testrepository/<projectKey>/folders/<folderId>
Panel
borderColor#ccc
borderStylesolid

Creates a folder and returns a JSON object with folder information.

Request

PATH PARAMETERS
parametertypedescription
projectKeyString

project key

folderIdintegerinternal folder Id; "-1" corresponds to the root folder of the Test Repository


JSON body attributes
parametertypedescription
nameString

name of folder

Example
Code Block
titleInput example
{
  "name": "Folder1"
}
Tip
titleRequest example

curl -H "Content-Type: application/json" -X POST -u admin:admin --data @example.json http://yourserver/rest/raven/1.0/api/testrepository/FP/folders/-1


Responses

201 CREATED : application/json : Successful. Returns a JSON object.

Code Block
titleOutput example
{
  "id": 6,
  "rank": 1,
  "name": "Folder1",
  "testRepositoryPath": "/Folder1"
  "testCount": 0,
  "totalTestCount": 0
}
Code Block
titleExample Output
[
   {
      "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 testsfolder.

Expand
titlePOST PUT /rest/raven/1.0/api/testexec/{testExecKey}/testtestrepository/<projectKey>/folders/<folderId>
["Issue with key CALC-99 not found or is not of type Test or Test Set."]
Panel
borderColor#ccc
borderStylesolid

Associate tests with the test execution. Return error messages, if there are anyUpdates an existing folder.

Request

PATH PARAMETERS
parametertypedescription
testExecKeyprojectKeyString

- key of the test execution.

Example

project key

folderIdintegerinternal folder Id
JSON body attributes
parametertypedescription
nameString

name of folder

rankIntegerrank within the parent folder

Example
Code Block
titleExample Input
{
  "name": "Folder1",
  "rank": 4
Code Block
titleExample Input
{
    "add": [
        "CALC-33",
        "CALC-75"
    ],
    "remove": [
        "CALC-25",
        "CALC-45"
    ]
}
Tip
titleExample Request example

curl -H "Content-Type: application/json" -X

POST

PUT -u admin:admin --data @example.json http://yourserver/rest/raven/1.0/api/

testexec

testrepository/

TEST-123/test

Responses

200 OK : text/plain : Successful. Return error messages, if there are any.

Code Block
titleExample Output

FP/folders/6


Responses

204 No content : text/plain : Successful. Does not return anything.

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 getting the testsfolder.

Expand
titleDELETE /rest/raven/1.0/api/testexectestrepository/{testExecKey}<projectKey>/testfolders/{testKey}<folderId>
Panel
borderColor#ccc
borderStylesolid

Remove test folder from the test executionTest Repository.

Request

PATH PARAMETERS
parametertypedescription
testExecKeyprojectKeyString

- project key of the test execution.

testKeyfolderIdStringintegerinternal folder Id- key of the test.
Tip
titleExample Request
curl -H "Content-Type: application/json" -X DELETE -u admin:admin http://yourserver/rest/raven/1.0/api/testexectestrepository/TEST-123FP/testfolders/TEST-321 6
Responses

200 OK 204 No content : 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.