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/testsettestrepository/{testSetKey}<projectKey>/testfolders
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.

Tests

  • To obtain a list of all the folders Tests associated with the Test Repository of a given project, you need to specify the key of project
  • To obtain a list of the folders 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.0/api/testset/{testSetKey}/testtestrepository/<projectKey>/folders/<folderId>/tests
Panel
borderColor#ccc
borderStylesolid

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

This endpoint supports pagination.

Request

PATH PARAMETERS
parametertypedescription
projectKeyString

project key

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


QUERY PARAMETERS
parametertypedescription
allDescendants
Boolean

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

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

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

Tip
titleExample Request
curl -H "Content-Type: application/json" -X

GET -u admin:admin http://yourserver/rest/raven/1.0/api/

testset/TEST-123/test

testrepository/<projectKey>/folders/<folderId>/tests

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. Return a json.

The "rank" and "key" will clearly identify the Test and its order within the Test Set. Note that the output may currently return other fields, which may only be available in a explicitly detailed request in a future release.

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, 
Code Block
titleExample Output
[
   {
      "id":13602,
      "rank":1,
      "key": "CALCFP-4410",
      "selfsummary": "http://jiraserver/rest/api/2/issue/10401"
   }Issue test create inside folder",
   {
      "id":13600,
  "assignee": "",
     "rank":2 1,
      "keyworkflowStatus": "CALC-42Open",
      "selflabels": "http://jiraserver/rest/api/2/issue/10402"[],
    "components": [],
    "testType": "Manual",
   },
   {
      "id":13886 24301,
     "key": "rankFP-11":3,
    "summary": "Issue test "keycreate inside folder",
    "assignee": "CALC-66",
    "rank": 2,
    "selfworkflowStatus": "http://jiraserver/rest/api/2/issue/10403"Open",
   }
]

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.

Tests

  • 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.
 "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 license is not valid.

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

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
curl -H "Content-Type: application/json" -X 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
["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
}


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 folder.

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

Request

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

Updates an existing folder.

Request

PATH PARAMETERS
parametertypedescription
projectKeyString

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
}
Tip
titleRequest example
Expand
titleGET /rest/raven/1.0/api/testexec/{testExecKey}/test
Panel
borderColor#ccc
borderStylesolid
parametertypedescription
testExecKeyString

- key of the test execution.

QUERY PARAMETERS
parametertypedescription
detailedboolean

- if true will display detailed information about the test run

Tip
titleExample Request

curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testexec/TEST-123/test

curl -H "Content-Type: application/json" -X GET -u admin:admin http://yourserver/rest/raven/1.0/api/testexec/TEST-123/test?detailed=true

Responses

200 OK : text/plain : Successful. Return a json.

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"
   }
]
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 tests.

Expand
titlePOST /rest/raven/1.0/api/testexec/{testExecKey}/test
["Issue with key CALC-99 not found or is not of type Test or Test Set."]

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.

Panel
borderColor#ccc
borderStylesolid

Associate tests with the test execution. Return error messages, if there are any.

Request

PATH PARAMETERS
parametertypedescription
testExecKeyString

- key of the test execution.

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

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

POST

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

testexec

FP/

TEST-123

folders/

test

6


Responses

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

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