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 NameREST URLMethodBackward compatibility with 8.5.3Request ChangeResponse Change
Link Test Suite to Test Case/rest/testcases/link/testsuitesPUTYesYesNo
Get details of a Requirement/rest/requirements/listPOSTYesNoYes
Get list of Test Cases in a folder/rest/testcases/listPOSTYesNoYes
View Test Suite details/rest/testsuites/detail/dataPOSTYesNoYes
View Requirement details/rest/requirements/detail/dataPOSTYesNoYes
Create Test Suite/rest/testsuitesPOSTYesYesNo
Archive Requirement folder/rest/requirements/folder/archivePOSTYesYesNo
Un-archive Requirement folder/rest/requirements/folder/unarchivePOSTYesYesNo
Archive Test Case Folder/rest/testcases/folder/archivePOSTYesYesNo
Un-archive Test Case Folder/rest/testcases/folder/unarchivePOSTYesYes

No

Archive Test Suite Folder/rest/testsuites/folder/archivePOSTYesYesNo
Un-archive Test Suite Folder/rest/testsuites/folder/unarchivePOSTYesYesNo
Get list of Test Suites for Test Case/rest/testsuites/list/forTCPOSTYesYesNo
Create Requirements

/rest/requirements

POSTYesYesNo

Updated APIs:

Link Test Suite to Test Case

API/rest/testcases/link/testsuites
MethodPUT
Impact of changeLow
Backward CompatibilityYes
Reason for changeAbility to link Test Suites from across projects.
ChangesAdded testSuiteIds in the request
Version 8.5.3Version 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
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeIn 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.
ChangesAdded list_udfName(JSON array) to response
Version 8.5.3Version 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/
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeIn 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.
ChangesAdded list_udfName(JSON array) to response
Version 8.5.3Version 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
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeIn 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.
ChangesAdded list_udfName (JSON array) to response
Version 8.5.3Version 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
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeIn 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.
ChangesAdded TotalLinkedTestcases to the response
Version 8.5.3Version 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
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeAbility 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.
ChangesWhile creating Test Suites from Requirements, requirementId is added in the request body
Version 8.5.3Version 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
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeGives the ability to also archive the root folder, if needed.
ChangesAdded flag includeRootFolderEntities.
Version 8.5.3Version 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
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeGives the ability to also un-archive the root folder, if needed.
ChangesAdded flag includeRootFolderEntities.
Version 8.5.3Version 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
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeGives the ability to also archive the root folder, if needed.
ChangesAdded flag includeRootFolderEntities.
Version 8.5.3Version 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
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeAdded ability to un-archive the root folder, if needed.
ChangesAdded flag includeRootFolderEntities.
Version 8.5.3Version 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
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeGives the ability to also archive the root folder, if needed.
ChangesAdded flag includeRootFolderEntities.
Version 8.5.3Version 8.5.4
Request Body
{
	"isBulkOperation": true,
	"rqFolderIDs": [432,441]
}
Request Body
{
	"isBulkOperation": true,
	"includeRootFolderEntities": true,
	"rqFolderIDs": [432,441]
}

Un-archive Test Suite Folder

API
/rest/testsuites/folder/unarchive
MethodPOST
Impact of changeLow
Backward CompatibilityYes
Reason for changeGives the ability to also un-archive the root folder, if needed.
ChangesAdded flagincludeRootFolderEntities.
Version 8.5.3Version 8.5.4
Request Body
{
	"isBulkOperation": true,
	"rqFolderIDs": [432,441]
}
Request Body
{
	"isBulkOperation": true,
	"includeRootFolderEntities": true,
	"rqFolderIDs": [432,441]
}

Get list of Test Suites for Test Case

API
/rest/testsuites/list/forTC
Method POST

Impact of Change

Low
Backward CompatibleYes
Reason for ChangeIn Test Case module when a user tries to link Test Suites with a Test Case Archived Test Suites is shown in the linking option. In order to remove those archive Test Suites from linking option, we need Filter parameter in Request Body.
ChangesThe "filter" field is added to the request body.
Version 8.5.3Version 8.5.4
Request Body
{
	"getColumns": true,
	"limit": 10,
	"page": 1,
	"start": 0
}
Request Body
{
	"filter": [{
		"value": [0],
		"type": "list",
		"field": "isArchived"
	}],
	"getColumns": true,
	"limit ": 10,
	"page": 1,
	"start": 0
}

Create Requirements

API
/rest/requirements
MethodPUT
Impact of changeLow
Backward CompatibilityYes
Reason for changeTo save the BDD data to the Requirement.
ChangesAdded bddBranch to request.
Version 8.5.3Version 8.5.4
Request Body
{
	"bddData": "cxc Other update check data",
	"bddConfigurationID": 12,
	"fileName": "New.feature",
	"bddFolderPath": "",
	"rqId": 244206,
	"rqVersionId": 347805,
	"updateWithVersion": false
}
Request Body
{
     "bddData": "cxc Other update check data",
     "bddConfigurationID": 1,
     "fileName": "abc.abc",
     "bddFolderPath": "/",
     "rqId": 1,
     "rqVersionId": 1,
     "updateWithVersion": false,
     "bddBranch": "master"
}