API changes from v8.5.3 to v8.5.4

API changes from v8.5.3 to v8.5.4

With the new and upcoming releases of QMetry, we continue to add exciting and useful new features that improve usability. With the new features and improvements being added to QMetry also necessitates changes in the APIs. This page enlists such APIs that will be changed from version 8.5.3 to 8.5.4 that is scheduled during end of July. The purpose of this document is to help Integration Teams keep their code updated and current with the API changes/updates to the existing APIs. In case you do not use any of these APIs, these changes can be safely ignored.

 

Summarized API changes

API Name

REST URL

Method

Backward compatibility with 8.5.3

Request Change

Response Change

API Name

REST URL

Method

Backward compatibility with 8.5.3

Request Change

Response Change

Link Test Suite to Test Case

/rest/testcases/link/testsuites

PUT

Yes

Yes

No

Get details of a Requirement

/rest/requirements/list

POST

Yes

No

Yes

Get list of Test Cases in a folder

/rest/testcases/list

POST

Yes

No

Yes

View Test Suite details

/rest/testsuites/detail/data

POST

Yes

No

Yes

View Requirement details

/rest/requirements/detail/data

POST

Yes

No

Yes

Create Test Suite

/rest/testsuites

POST

Yes

Yes

No

Archive Requirement folder

/rest/requirements/folder/archive

POST

Yes

Yes

No

Un-archive Requirement folder

/rest/requirements/folder/unarchive

POST

Yes

Yes

No

Archive Test Case Folder

/rest/testcases/folder/archive

POST

Yes

Yes

No

Un-archive Test Case Folder

/rest/testcases/folder/unarchive

POST

Yes

Yes

No

Archive Test Suite Folder

/rest/testsuites/folder/archive

POST

Yes

Yes

No

Un-archive Test Suite Folder

/rest/testsuites/folder/unarchive

POST

Yes

Yes

No

Get list of Test Suites for Test Case

/rest/testsuites/list/forTC

POST

Yes

Yes

No

Create Requirements

/rest/requirements

POST

Yes

Yes

No

Updated APIs:

Link Test Suite to Test Case

API

/rest/testcases/link/testsuites

API

/rest/testcases/link/testsuites

Method

PUT

Impact of change

Low

Backward Compatibility

Yes

Reason for change

Ability to link Test Suites from across projects.

Changes

Added testSuiteIds in the request

Version 8.5.3

Version 8.5.4

Version 8.5.3

Version 8.5.4

Request Body
{ "tcID": "TL-TC-81", "tsIDs": "TL-TS-44", "tcVersion": 1 }
Request Body
{ "tcID": "QI-TC-1", "tsIDs": "QI-TS-1", "tcVersion": 1, "testSuiteIds": [63429] }


Get details of a Requirement

API

/rest/requirements/list

API

/rest/requirements/list

Method

POST

Impact of change

Low

Backward Compatibility

Yes

Reason for change

In the services where user can update MULTILOOKUPLIST values, UI needs both IDs and names of each of those values. So list_udfName field is a JSON array containing 'id' and 'value' for each value of list.

Changes

Added list_udfName(JSON array) to response

Version 8.5.3

Version 8.5.4

Version 8.5.3

Version 8.5.4

Response Body
{  "data": [   {    "statusId": 774,    "rqBuildMapID": 0,    "plannerFlag": false,    "rqId": 35712,    "entityKey": "MWW-RQ-48",    "archivedTcTotal": 0,    "unarchivedTcTotal": 0,    "projectId": 110,    "linkedTcCount": 0,    "linkedDfCount": 1,    "name": "Story to check coverage",    "rqVersion": 1,    "description": "",    "attachmentCount": 0,    "createdDate": "07-26-2019 02:33:13",    "isVersionArchived": false,    "createdSystem": "QMetry",    "createdBy": "karthik",    "createdByAlias": "Karthik (karthik)",    "parentFolderId": 303,    "folderPath": "//folder3",    "rqVersionID": 35753,    "rqVersionList": "[{\"isArchived\":0,\"rqVersion\":1,\"rqVersionID\":35753,\"rqVersionName\":\"Version-1\"}]",    "releaseName": "Default Release",    "projectName": "",    "isArchived": false,    "buildName": "Default Cycle",    "Auto": "Complete,Semi,No",    "Manual": "Type a,Type b",    "extUdfFields": "[]",    "isCurrentlyConfiguredProject": false,    "totalWatchers": 1,    "isCurrentUserWatcher": true   }  ],  "total": 0,  "buildId": 959,  "cycleId": 967,  "UDFTypeData": {   "Auto": "MULTILOOKUPLIST",   "Manual": "LOOKUPLIST"  } }
Response Body
(change can be seen in 'list_Auto' field) {  "data": [   {    "statusId": 774,    "rqBuildMapID": 0,    "plannerFlag": false,    "rqId": 35712,    "entityKey": "MWW-RQ-48",    "archivedTcTotal": 0,    "unarchivedTcTotal": 0,    "projectId": 110,    "linkedTcCount": 0,    "linkedDfCount": 1,    "name": "Story to check coverage",    "rqVersion": 1,    "description": "",    "attachmentCount": 0,    "createdDate": "07-26-2019 02:33:13",    "isVersionArchived": false,    "createdSystem": "QMetry",    "createdBy": "karthik",    "createdByAlias": "Karthik (karthik)",    "parentFolderId": 303,    "folderPath": "//folder3",    "rqVersionID": 35753,    "rqVersionList": "[{\"isArchived\":0,\"rqVersion\":1,\"rqVersionID\":35753,\"rqVersionName\":\"Version-1\"}]",    "releaseName": "Default Release",    "projectName": "",    "isArchived": false,    "buildName": "Default Cycle",    "Auto": "Complete,Semi,No",    "list_Auto": "[{\"id\":\"13580\",\"value\":\"Complete\"},{\"id\":\"13578\",\"value\":\"Semi\"},{\"id\":\"13578\",\"value\":\"No\"}]",    "Manual": "Type a,Type b",    "extUdfFields": "[]",    "isCurrentlyConfiguredProject": false,    "totalWatchers": 1,    "isCurrentUserWatcher": true   }  ],  "total": 0,  "buildId": 959,  "cycleId": 967,  "UDFTypeData": {   "Auto": "MULTILOOKUPLIST",   "Manual": "LOOKUPLIST"  } }

Get list of Test Cases in a folder

API

/rest/testcases/list/

API

/rest/testcases/list/

Method

POST

Impact of change

Low

Backward Compatibility

Yes

Reason for change

In the services where user can update MULTILOOKUPLIST values, UI needs both IDs and names of each of those values. So list_udfName field is a JSON array containing 'id' and 'value' for each value of list.

Changes

Added list_udfName(JSON array) to response

Version 8.5.3

Version 8.5.4

Version 8.5.3

Version 8.5.4

Response Body
{  "data": [   {    "statusId": 774,    "rqBuildMapID": 0,    "plannerFlag": false,    "rqId": 35712,    "entityKey": "MWW-RQ-48",    "archivedTcTotal": 0,    "unarchivedTcTotal": 0,    "projectId": 110,    "linkedTcCount": 0,    "linkedDfCount": 1,    "name": "Story to check coverage",    "rqVersion": 1,    "description": "",    "attachmentCount": 0,    "createdDate": "07-26-2019 02:33:13",    "isVersionArchived": false,    "createdSystem": "QMetry",    "createdBy": "karthik",    "createdByAlias": "Karthik (karthik)",    "parentFolderId": 303,    "folderPath": "//folder3",    "rqVersionID": 35753,    "rqVersionList": "[{\"isArchived\":0,\"rqVersion\":1,\"rqVersionID\":35753,\"rqVersionName\":\"Version-1\"}]",    "releaseName": "Default Release",    "projectName": "",    "isArchived": false,    "buildName": "Default Cycle",    "Auto": "Complete,Semi,No",    "Manual": "Type a,Type b",    "extUdfFields": "[]",    "isCurrentlyConfiguredProject": false,    "totalWatchers": 1,    "isCurrentUserWatcher": true   }  ],  "total": 0,  "buildId": 959,  "cycleId": 967,  "UDFTypeData": {   "Auto": "MULTILOOKUPLIST",   "Manual": "LOOKUPLIST"  } }
Response Body
(change can be seen in 'list_Auto' field) {  "data": [   {    "statusId": 774,    "rqBuildMapID": 0,    "plannerFlag": false,    "rqId": 35712,    "entityKey": "MWW-RQ-48",    "archivedTcTotal": 0,    "unarchivedTcTotal": 0,    "projectId": 110,    "linkedTcCount": 0,    "linkedDfCount": 1,    "name": "Story to check coverage",    "rqVersion": 1,    "description": "",    "attachmentCount": 0,    "createdDate": "07-26-2019 02:33:13",    "isVersionArchived": false,    "createdSystem": "QMetry",    "createdBy": "karthik",    "createdByAlias": "Karthik (karthik)",    "parentFolderId": 303,    "folderPath": "//folder3",    "rqVersionID": 35753,    "rqVersionList": "[{\"isArchived\":0,\"rqVersion\":1,\"rqVersionID\":35753,\"rqVersionName\":\"Version-1\"}]",    "releaseName": "Default Release",    "projectName": "",    "isArchived": false,    "buildName": "Default Cycle",    "Auto": "Complete,Semi,No",    "list_Auto": "[{\"id\":\"13580\",\"value\":\"Complete\"},{\"id\":\"13578\",\"value\":\"Semi\"},{\"id\":\"13573\",\"value\":\"No\"}]",    "Manual": "Type a,Type b",    "extUdfFields": "[]",    "isCurrentlyConfiguredProject": false,    "totalWatchers": 1,    "isCurrentUserWatcher": true   }  ],  "total": 0,  "buildId": 959,  "cycleId": 967,  "UDFTypeData": {   "Auto": "MULTILOOKUPLIST",   "Manual": "LOOKUPLIST"  } }

View Test Suite details

API

/rest/testsuites/detail/data

API

/rest/testsuites/detail/data

Method

POST

Impact of change

Low

Backward Compatibility

Yes

Reason for change

In the services where user can update MULTILOOKUPLIST values, UI needs both IDs and names of each of those values. So list_udfName field is a JSON array containing 'id' and 'value' for each value of list.

Changes

Added list_udfName (JSON array) to response

Version 8.5.3

Version 8.5.4

Version 8.5.3

Version 8.5.4

Response Body
{  "data": [   {    "statusId": 774,    "rqBuildMapID": 0,    "plannerFlag": false,    "rqId": 35712,    "entityKey": "MWW-RQ-48",    "archivedTcTotal": 0,    "unarchivedTcTotal": 0,    "projectId": 110,    "linkedTcCount": 0,    "linkedDfCount": 1,    "name": "Rq1",    "rqVersion": 1,    "description": "",    "attachmentCount": 0,    "createdDate": "07-26-2019 02:33:13",    "isVersionArchived": false,    "createdSystem": "QMetry",    "createdBy": "karthik",    "createdByAlias": "Karthik (karthik)",    "parentFolderId": 303,    "folderPath": "//folder3",    "rqVersionID": 35753,    "rqVersionList": "[{\"isArchived\":0,\"rqVersion\":1,\"rqVersionID\":35753,\"rqVersionName\":\"Version-1\"}]",    "releaseName": "Default Release",    "projectName": "",    "isArchived": false,    "buildName": "Default Cycle",    "Auto": "Complete,Semi,No",    "Manual": "Type a,Type b",    "extUdfFields": "[]",    "isCurrentlyConfiguredProject": false,    "totalWatchers": 1,    "isCurrentUserWatcher": true   }  ],  "total": 0,  "buildId": 959,  "cycleId": 967,  "UDFTypeData": {   "Auto": "MULTILOOKUPLIST",   "Manual": "LOOKUPLIST"  } }
Response Body
(change can be seen in 'list_Auto' field) {  "data": [   {    "statusId": 774,    "rqBuildMapID": 0,    "plannerFlag": false,    "rqId": 35712,    "entityKey": "MWW-RQ-48",    "archivedTcTotal": 0,    "unarchivedTcTotal": 0,    "projectId": 110,    "linkedTcCount": 0,    "linkedDfCount": 1,    "name": "Rq1",    "rqVersion": 1,    "description": "",    "attachmentCount": 0,    "createdDate": "07-26-2019 02:33:13",    "isVersionArchived": false,    "createdSystem": "QMetry",    "createdBy": "karthik",    "createdByAlias": "Karthik (karthik)",    "parentFolderId": 303,    "folderPath": "/MeetP/folder3",    "rqVersionID": 35753,    "rqVersionList": "[{\"isArchived\":0,\"rqVersion\":1,\"rqVersionID\":35753,\"rqVersionName\":\"Version-1\"}]",    "releaseName": "Default Release",    "projectName": "MeetP",    "isArchived": false,    "buildName": "Default Cycle",    "Auto": "Complete,Semi,No",    "list_Auto": "[{\"id\":\"13580\",\"value\":\"Complete\"},{\"id\":\"13578\",\"value\":\"Semi\"},{\"id\":\"13573\",\"value\":\"No\"}]",    "Manual": "Type a,Type b",    "extUdfFields": "[]",    "isCurrentlyConfiguredProject": false,    "totalWatchers": 1,    "isCurrentUserWatcher": true   }  ],  "total": 0,  "buildId": 959,  "cycleId": 967,  "UDFTypeData": {   "Auto": "MULTILOOKUPLIST",   "Manual": "LOOKUPLIST"  } }

View Requirement details

API

/rest/requirements/detail/data

API

/rest/requirements/detail/data

Method

POST

Impact of change

Low

Backward Compatibility

Yes

Reason for change

In the services where user can update MULTILOOKUPLIST values, UI needs both IDs and names of each of those values. So list_udfName field is a JSON array containing 'id' and 'value' for each value of list.

Changes

Added TotalLinkedTestcases to the response

Version 8.5.3

Version 8.5.4

Version 8.5.3

Version 8.5.4

Response Body
{ "rqVersionID": 546578, "Progress": "25,50,10", "createddate": "2019-09-12T15:25:52", "isArchived": false, "entityKey": "IT-RQ-10", "description": "", "fixVersion": "", "rqId": 442762, "component": [], "RqFolderID": 12619, "createdby": "Karthik", "name": "Track Distance", "isVersionArchived": false, "attachmentCount": 0, "componentvalue": [], "projectId": 1477 }
Response Body
{ "createddate": "2019-09-12T15:12:39", "isArchived": false, "description": "", "fixVersion": "", "TotalLinkedTestcases": 0, "rqId": 3348651, "RqFolderID": 58416, "createdby": "Punit", "rqVersionID": 3400840, "Progress": "50,100,25,10", "entityKey": "AUP-RQ-2", "component": [], "list_Progress": "[{\"id\":2044663,\"value\":\"50\"},{\"id\":2044665,\"value\":\"100\"},{\"id\":2044662,\"value\":\"25\"},{\"id\":2044661,\"value\":\"10\"}]", "name": "Track Distance", "isVersionArchived": false, "attachmentCount": 0, "componentvalue": [], "projectId": 7223 }

Create Test Suite

API

/rest/testsuites

API

/rest/testsuites

Method

POST

Impact of change

Low

Backward Compatibility

Yes

Reason for change

Ability to create Test Suites, link Test Cases to the created Test Suites and update count of linked Test Cases for Test Suites. Previously '/rest/testsuites' and '/dolink/TCs' services were called separately for previously mentioned operations.

Changes

While creating Test Suites from Requirements, requirementId is added in the request body

Version 8.5.3

Version 8.5.4

Version 8.5.3

Version 8.5.4

Request Body
{  "parentFolderId": "181",  "id": 0,  "isAutomatedFlag": false,  "name": "Story to check coverage",  "description": "",  "owner": 0,  "testSuiteState": 0,  "associateRelCyc": true }
Request Body
{  "parentFolderId": "181",  "id": 0,  "isAutomatedFlag": false,  "name": "Story to check coverage",  "description": "",  "requirementId": 36970,  "owner": 0,  "testSuiteState": 0,  "associateRelCyc": true }

Archive Requirement folder

API

/rest/requirements/folder/archive

API

/rest/requirements/folder/archive

Method

POST

Impact of change

Low

Backward Compatibility

Yes

Reason for change

Gives the ability to also archive the root folder, if needed.

Changes

Added flag includeRootFolderEntities.

Version 8.5.3

Version 8.5.4

Version 8.5.3

Version 8.5.4

Request Body
{ "isBulkOperation": true, "rqFolderIDs": [196, 120, 156] }
Request Body
{ "isBulkOperation": true, "includeRootFolderEntities": true, "rqFolderIDs": [196, 120, 156] }

Un-archive Requirement folder

API

/rest/requirements/folder/unarchive

API

/rest/requirements/folder/unarchive

Method

POST

Impact of change

Low

Backward Compatibility

Yes

Reason for change

Gives the ability to also un-archive the root folder, if needed.

Changes

Added flag includeRootFolderEntities.

Version 8.5.3

Version 8.5.4

Version 8.5.3

Version 8.5.4

Request Body
{ "isBulkOperation": true, "rqFolderIDs": [196, 120, 156] }
Request Body
{ "isBulkOperation": true, "includeRootFolderEntities": true, "rqFolderIDs": [196, 120, 156] }

Archive Test Case Folder

API

/rest/testcases/folder/archive

API

/rest/testcases/folder/archive

Method

POST

Impact of change

Low

Backward Compatibility

Yes

Reason for change

Gives the ability to also archive the root folder, if needed.

Changes

Added flag includeRootFolderEntities.

Version 8.5.3

Version 8.5.4

Version 8.5.3

Version 8.5.4

Request Body
{ "isBulkOperation": true, "rqFolderIDs": [522,556] }
Request Body
{ "isBulkOperation": true, "includeRootFolderEntities": true, "rqFolderIDs": [522,556] }

Un-archive Test Case Folder

API

/rest/testcases/folder/unarchive

API

/rest/testcases/folder/unarchive

Method

POST

Impact of change

Low

Backward Compatibility

Yes

Reason for change

Added ability to un-archive the root folder, if needed.

Changes

Added flag includeRootFolderEntities.

Version 8.5.3

Version 8.5.4

Version 8.5.3

Version 8.5.4

Request Body
{ "isBulkOperation": true, "rqFolderIDs": [522,556] }
Request Body
{ "isBulkOperation": true, "includeRootFolderEntities": true, "rqFolderIDs": [522,556] }

Archive Test Suite Folder

API

/rest/testsuites/folder/archive

API

/rest/testsuites/folder/archive

Method

POST

Impact of change

Low

Backward Compatibility

Yes

Reason for change

Gives the ability to also archive the root folder, if needed.