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
booleanBoolean

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 -H "

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.

FOLDERS XXXXXXXX

  • 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
[
"Issue   {
      "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"
   }
]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.

["Issue with key CALC-33 not found or is not of type Test."]
Expand
titlePATCH PUT /rest/raven/1.0/api/testrepository/<projectKey>/folders/<folderId>\/tests
internal folder Id
Panel
borderColor#ccc
borderStylesolid

Updates an existing folder.

Request

PATH PARAMETERS
parametertypedescription
projectKeyString

project key

folderIdintegerinternal folder Id
JSON body attributes

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

Request

PATH PARAMETERS
parametertypedescription
projectKey
nameString

project key

folderIdinteger

name of folder

rankIntegerrank within the parent folder

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

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

PATCH

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

/9/tests

Responses

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

Code Block
titleExample Output

/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/testrepository/<projectKey>/folders/<folderId>
Panel
borderColor#ccc
borderStylesolid

Remove folder from the Test Repository.

Request

PATH PARAMETERS
parametertypedescription
projectKeyString

project key

folderIdintegerinternal folder Id
Tip
titleExample Request
curl -H "Content-Type: application/json" -X DELETE -u admin:admin http://yourserver/rest/raven/1.0/api/testrepository/FP/folders/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.