REST API
这个页面介绍了synapseRT提供的REST API,用户可以利用调用这些API以完成对此插件的操作。
测试计划资源
POST /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/addMembers
REQUEST
{
"testCaseKeys":["FRS-1","FRS-2","FRS-3"]
}
RESPONSE
STATUS 200 Returned if the Test Cases are successfully added to the Test Plan
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
PUT /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/assignTesterToTestCase
To get "memberId", please execute "GET /rest/synapse/latest/public/testPlan/{testplanIssueKey}/members" and then pickup "id" value from its response.
REQUEST
{
"memberId":1215,"userName":"cma"
}
RESPONSE
{
"data": "Cheney Ma"
}
STATUS 200 Returned if the Test Cases are successfully assigned to specified Tester
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/addCycle
Please note that date format supported is: yyyy-mm-dd
REQUEST
{
"name":"REST API Cycle 1",
"environment":"Firefox",
"build":"build 1.0"
"plannedStartDate":"2017-04-13",
"plannedEndDate":"2017-04-15"
}
RESPONSE
STATUS 200 Returned if the Test Cycle is successfully added to the Test Plan
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycles
EXAMPLE
[
{
"id": 151,
"name": "Round 1 with Chrome",
"environment": "Chrome",
"status": "Active",
"deleteable": false,
"aborted": false,
"active": true,
"build": "8.4",
"draft": false,
"plannedStartDate": "2016-11-03",
"plannedEndDate": "2016-11-03",
"cycleStartedDate": "2016-11-03T15:55:48.883+0800"
},
{
"id": 152,
"name": "Round 2 with Firefox",
"environment": "Firefox 47",
"status": "Active",
"deleteable": false,
"aborted": false,
"active": true,
"build": "8.4",
"draft": false,
"plannedStartDate": "2016-11-04",
"plannedEndDate": "2016-11-04",
"cycleStartedDate": "2016-11-03T16:10:38.695+0800"
}
]
RESPONSE
STATUS 200 Returned if the Test Cycles are successfully retrieved
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
DELETE /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/deleteCycleByIdOrName
REQUEST
By: Test Cycle Name
{
"name":"REST API Cycle 1"
}
By: Test Cycle Id
{
"id":"188"
}
RESPONSE
STATUS 200 Returned if the Test Cycle is successfully deleted from the Test Plan
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testPlan/{testplanIssueKey}/members
EXAMPLE
[
{
"id": 1215,
"testCaseSummary": "Valid the bank name",
"tcId": 15713,
"tpId": 15802,
"testCaseKey": "FRS-14",
"testPlanKey": "FRS-31"
},
{
"id": 1216,
"testCaseSummary": "Return error if name is not correct",
"tcId": 15714,
"tpId": 15802,
"testCaseKey": "FRS-15",
"testPlanKey": "FRS-31"
}
]
RESPONSE
STATUS 200 Returned if the Test Cases are successfully retrieved from the Test Plan
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testPlan/{testplanIssueKey}/testPlanInformation
EXAMPLE
{
"testCycles": [
{
"testCycleId": 151,
"testCycleName": "Round 1 with Chrome",
"notifyTester": false
},
{
"testCycleId": 152,
"testCycleName": "Round 2 with Firefox",
"notifyTester": false
}
],
"cycleWithRuns": {
"Round 1 with Chrome": [
{
"executedBy": "cma",
"testRunSteps": [
{
"id": 15203,
"status": "Passed",
"step": "<p>Login 'FRS' system valid u/p.</p>",
"actualResult": "",
"stepData": "",
"stepRaw": "Login 'FRS' system valid u/p.",
"expectedResultRaw": "User logged in successfully.",
"expectedResult": "<p>User logged in successfully.</p>"
},
{
"id": 15204,
"status": "Passed",
"step": "<p>Choose any ticket and click on 'Purchase' button.</p>",
"actualResult": "",
"stepData": "",
"stepRaw": "Choose any ticket and click on 'Purchase' button.",
"expectedResultRaw": "It redirects to 'Purchase' page.",
"expectedResult": "<p>It redirects to 'Purchase' page.</p>"
},
{
"id": 15205,
"status": "Passed",
"step": "<p>Specify a valid bank from which the card was issued in 'Bank Name' textbox.</p>",
"actualResult": "",
"stepData": "",
"stepRaw": "Specify a valid bank from which the card was issued in 'Bank Name' textbox.",
"expectedResultRaw": "",
"expectedResult": ""
},
{
"id": 15206,
"status": "Passed",
"step": "<p>Click 'Validation' button.</p>",
"actualResult": "",
"stepData": "",
"stepRaw": "Click 'Validation' button.",
"expectedResultRaw": "A confirmation message 'Bank Validation Passed' pops up.",
"expectedResult": "<p>A confirmation message 'Bank Validation Passed' pops up.</p>"
},
{
"id": 15207,
"status": "Passed",
"step": "<p>Specify an invalid bank in 'Bank Name' textbox.</p>",
"actualResult": "",
"stepData": "",
"stepRaw": "Specify an invalid bank in 'Bank Name' textbox.",
"expectedResultRaw": "",
"expectedResult": ""
},
{
"id": 15208,
"status": "Passed",
"step": "<p>Click 'Validation' button.</p>",
"actualResult": "",
"stepData": "",
"stepRaw": "Click 'Validation' button.",
"expectedResultRaw": "An error message 'Bank Name is not valid!' pops up.",
"expectedResult": "<p>An error message 'Bank Name is not valid!' pops up.</p>"
}
],
"testRunHistory": [
{
"executorName": "cma",
"activity": "Passed",
"activityType": "Status",
"testRunId": 3148,
"executionTime": 1478161145190
}
],
"id": 3148,
"type": 0,
"comment": "",
"status": "Passed",
"commentWiki": "",
"lozenge": "aui-lozenge aui-lozenge-success",
"testCaseKey": "FRS-14",
"summary": "Valid the bank name",
"testerName": "cma",
"executedByFromRun": "cma",
"executionTimeStamp": "2016-11-03T16:19:05.190+0800",
"executedByDisplayName": "Cheney Ma",
"testCaseId": 15713,
"changeInfo": "null|null",
"executionOn": 1478161145190
}
]
}
}
RESPONSE
STATUS 200 Returned if the Test Run details are successfully retrieved from the Test Plan
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/defects
RESPONSE
[
{
"id": 16001,
"key": "FRS-35",
"summary": "REST API Defect Created for Test Run Step"
},
{
"id": 15723,
"key": "FRS-24",
"summary": "System is down, testing is blocked."
},
{
"id": 15725,
"key": "FRS-26",
"summary": "Error message is wrong after clicking 'Save' button."
},
{
"id": 15803,
"key": "FRS-32",
"summary": "The dialog box should be improved."
},
{
"id": 16000,
"key": "FRS-34",
"summary": "REST API Defect Created for Test Run"
},
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
]
STATUS 200 Returned if the Defects are successfully retrieved from the Test Plan
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
测试周期资源
POST /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/bulkAssignUpdate
REQUEST
{
"testCycleId":153,
"testerName":"cma",
"runIds":[3164,3165,3166],
"notifyTester":false
}
RESPONSE
{
"message": "Success"
}
STATUS 200 Returned if the Test Runs are successfully assigned to specified Tester
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
PUT /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycle/{cycleName}/wf/{action}
REQUEST
Valid actions are:
- Start
- Complete
- Abort
- Resume
RESPONSE
STATUS 200 Returned if the Test Cycle status is updated successfully
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/editCycle
To get "Test Cycle ID", please execute "GET /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycles" and then pickup "id" value from its response.
REQUEST
{
"id": 152,
"name":"Round 2 with Firefox_Update",
"environment":"Firefox 47_Update",
"build":"8.4_Update",
"plannedStartDate":"2017-04-13",
"plannedEndDate":"2017-04-15"
}
RESPONSE
STATUS 200 Returned if the Test Cycle details is updated successfully
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycle/{cycleName}/testRuns
EXAMPLE
[
{
"id": 3174,
"status": "Failed",
"attachments": [
{
"id": 63,
"fileName": "Requirement_Issue_Create_Test_Case_in_Detail_View.jpg",
"mimeType": "image/jpeg"
}
],
"bugs": [
{
"id": 15723,
"key": "FRS-24",
"summary": "System is down, testing is blocked."
},
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
],
"executedBy": "cma",
"summary": "Valid the bank name",
"testCaseKey": "FRS-14",
"executionTimeStamp": 1491453907184
},
{
"id": 3175,
"status": "Not Tested",
"bugs": [
{
"id": 15723,
"key": "FRS-24",
"summary": "System is down, testing is blocked."
},
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
],
"executedBy": "cma",
"summary": "Return error if name is not correct",
"testCaseKey": "FRS-15",
"executionTimeStamp": 1491452068997
}
]
RESPONSE
STATUS 200 Returned if the Test Runs are successfully retrieved
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycle/{cycleId}/testRunsByCycleId
EXAMPLE
[
{
"id": 3148,
"status": "Passed",
"executedBy": "cma",
"summary": "Valid the bank name",
"testCaseKey": "FRS-14",
"executionTimeStamp": 1478161145190
},
{
"id": 3149,
"status": "Failed",
"attachments": [
{
"id": 62,
"fileName": "Performance_Manage_REQs_Loading_Issue.jpg",
"mimeType": "image/jpeg"
}
],
"bugs": [
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
],
"executedBy": "cma",
"summary": "Return error if name is not correct",
"testCaseKey": "FRS-15",
"executionTimeStamp": 1478160401266
}
]
RESPONSE
STATUS 200 Returned if the Test Runs are successfully retrieved
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/addMembersToTestCycle
REQUEST
{
"testCycleId":153,
"testCycleName":"Round 3 with IE",
"addTestCaseKeys":["SPA-320","SPA-330"],
"removeTestCaseKeys":["FRS-29","FRS-30"]
}
RESPONSE
STATUS 200 Returned if the Test Cases are added/removed successfully
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
PUT /rest/synapse/latest/public/testRun/reorderTestRun
REQUEST
{"testRunId":3169,"refTestRunId":3167}
- This will move the Test Run (runId is 3169) right below Test Run (runId is 3167)
- refTestRunId would be -1 if the Test Run needs to be moved to the top
RESPONSE
STATUS 200 Returned if the Test Run is reordered successfully
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testRunId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycle/{cycleId}/defects
RESPONSE
[
{
"id": 16001,
"key": "FRS-35",
"summary": "REST API Defect Created for Test Run Step"
},
{
"id": 15723,
"key": "FRS-24",
"summary": "System is down, testing is blocked."
},
{
"id": 15803,
"key": "FRS-32",
"summary": "The dialog box should be improved."
},
{
"id": 16000,
"key": "FRS-34",
"summary": "REST API Defect Created for Test Run"
},
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
]
STATUS 200 Returned if the Defects are successfully retrieved from the Test Cycle
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testCycle/addAutomationJobToTestCycle
REQUEST
{
"testPlanKey": "FRS-31",
"testCycleName": "Round 3 with IE",
"appName": "Demo-Jenkins",
"jobKey": "DemoParameterJob",
"testType": "SELENIUM",
"params" : "stringp1=p1value;stringp2=p2value"
}
RESPONSE
STATUS 200 Returned if the Automation Job is successfully added to the Test Cycle
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testCycle/automationJobs
REQUEST
{
"testPlanKey": "FRS-31",
"testCycleName": "Round 3 with IE"
}
RESPONSE
{
"automationBuildId": 4,
"appName": "Demo-Jenkins",
"jobKey": "DemoParameterJob",
"testType": "SELENIUM",
"params": "stringp1=p1value;stringp2=p2value;SRTCYCLE=153"
}
STATUS 200 Returned if the Automation Job details is successfully retrieved
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testCycle/triggerAutomationJob
REQUEST
{
"testPlanKey": "FRS-31",
"testCycleName": "Round 3 with IE",
"automationBuildId": "4"
}
RESPONSE
STATUS 200 Returned if the Automation Job is successfully triggered from Test Cycle
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
测试执行资源
GET /rest/synapse/latest/public/testRun/{runID}
Please note that runID doesn't include the prefix 'TR'.
EXAMPLE
{
"id": 3174,
"type": 0,
"comment": "Updated through REST",
"status": "Failed",
"summary": "Valid the bank name",
"testCaseKey": "FRS-14",
"lozenge": "aui-lozenge aui-lozenge-error",
"testRunDetails": {
"testRunSteps": [
{
"id": 15254,
"status": "Blocked",
"step": "Login 'FRS' system valid u/p.",
"expectedResult": "User logged in successfully.",
"testRunStepBugsWrapper": [
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
],
"testRunStepAttachments": []
},
{
"id": 15255,
"status": "Not Tested",
"step": "Choose any ticket and click on 'Purchase' button.",
"expectedResult": "It redirects to 'Purchase' page.",
"testRunStepAttachments": [
{
"id": 64,
"fileName": "FF_Only_Test_Plan_Failed_Expand_Test_Case_Member.jpg",
"mimeType": "image/jpeg"
}
]
},
{
"id": 15256,
"status": "Not Tested",
"step": "Specify a valid bank from which the card was issued in 'Bank Name' textbox.",
"expectedResult": "",
"testRunStepAttachments": []
},
{
"id": 15257,
"status": "Not Tested",
"step": "Click 'Validation' button.",
"expectedResult": "A confirmation message 'Bank Validation Passed' pops up.",
"testRunStepAttachments": []
},
{
"id": 15258,
"status": "Not Tested",
"step": "Specify an invalid bank in 'Bank Name' textbox.",
"expectedResult": "",
"testRunStepAttachments": []
},
{
"id": 15259,
"status": "Not Tested",
"step": "Click 'Validation' button.",
"expectedResult": "An error message 'Bank Name is not valid!' pops up.",
"testRunStepAttachments": []
}
],
"testRunHistory": [
{
"executorName": "cma",
"activity": "Passed",
"executionTime": 1491451955420,
"activityType": "Status",
"testRunId": 3174
},
{
"executorName": "cma",
"activity": "Blocked",
"executionTime": 1491453658080,
"activityType": "Status",
"testRunId": 3174
},
{
"executorName": "cma",
"activity": "+ FRS-23",
"executionTime": 1491453658085,
"activityType": "Issue",
"testRunId": 3174
},
{
"executorName": "cma",
"activity": "Failed",
"executionTime": 1491453907130,
"activityType": "Status",
"testRunId": 3174
},
{
"executorName": "cma",
"activity": "+ FRS-24",
"executionTime": 1491453907184,
"activityType": "Issue",
"testRunId": 3174
}
],
"testRunBugs": [
{
"id": 15723,
"key": "FRS-24",
"summary": "System is down, testing is blocked."
},
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
],
"testRunAttachments": [
{
"id": 63,
"fileName": "Requirement_Issue_Create_Test_Case_in_Detail_View.jpg",
"mimeType": "image/jpeg"
}
],
"nextRunId": 3175
},
"testCaseId": 15713
}
RESPONSE
STATUS 200 Returned if the Test Run Details are successfully retrieved
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testRun/{testCaseIssueKey}/testRuns
EXAMPLE
[
{
"type": 0,
"id": 3116,
"status": "Passed",
"summary": "Valid the bank name",
"testCaseKey": "FRS-14",
"lozenge": "aui-lozenge aui-lozenge-success",
"testPlanKey": "FRS-22",
"executionOn": "01/Jul/16 11:01 AM",
"testPlanSummary": "Functionality Testing in Sprint 16",
"testerName": "Murali",
"testCycleSummary": "Cycle - Chrome",
"executedBy": "cma",
"testCaseId": 15713,
"testCycleId": 147,
"testRunDetails": {
"testRunSteps": [
{
"id": 15081,
"step": "Login 'FRS' system valid u/p.",
"status": "Passed",
"expectedResult": "User logged in successfully.",
"testRunStepAttachments": []
},
{
"id": 15082,
"step": "Choose any ticket and click on 'Purchase' button.",
"status": "Passed",
"expectedResult": "It redirects to 'Purchase' page.",
"testRunStepAttachments": []
},
{
"id": 15083,
"step": "Specify a valid bank from which the card was issued in 'Bank Name' textbox.",
"status": "Passed",
"expectedResult": "",
"testRunStepAttachments": []
},
{
"id": 15084,
"step": "Click 'Validation' button.",
"status": "Passed",
"expectedResult": "A confirmation message 'Bank Validation Passed' pops up.",
"testRunStepAttachments": []
},
{
"id": 15085,
"step": "Specify an invalid bank in 'Bank Name' textbox.",
"status": "Passed",
"expectedResult": "",
"testRunStepAttachments": []
},
{
"id": 15086,
"step": "Click 'Validation' button.",
"status": "Passed",
"expectedResult": "An error message 'Bank Name is not valid!' pops up.",
"testRunStepAttachments": []
}
],
"testRunHistory": [
{
"executionTime": 1467342064503,
"executorName": "cma",
"activity": "Passed",
"executorId": 10001,
"activityType": "Status",
"testRunId": 3116,
"executorFullName": "Cheney Ma"
},
{
"executionTime": 1467342064502,
"executorName": "cma",
"activity": "Passed",
"executorId": 10001,
"activityType": "Status",
"testRunId": 3116,
"executorFullName": "Cheney Ma"
},
{
"executionTime": 1467342064502,
"executorName": "cma",
"activity": "Passed",
"executorId": 10001,
"activityType": "Status",
"testRunId": 3116,
"executorFullName": "Cheney Ma"
}
],
"prevRunId": 3119,
"nextRunId": 3117
}
},
]
RESPONSE
STATUS 200 Returned if the Test Case Execution History are successfully retrieved
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testRun/testRunsBetween
Please note that if leave "toDate" as blank ("toDate" : ""), it will return Test Runs done till current day
REQUEST
{
"fromDate" : "2019-04-12",
"toDate" : "2019-04-12"
}
RESPONSE
[
{
"type": 0,
"id": 3170,
"status": "Passed",
"executedBy": "cma",
"summary": "FRS Smoke Testing - Automation Demo Test Case 1",
"testCaseKey": "FRS-29",
"testCycleId": 153,
"testCaseId": 15800,
"testerName": "",
"executionOn": "12/Apr/19 1:43 AM",
"testPlanSummary": " Functionality Testing in Sprint 20",
"testPlanKey": "FRS-31",
"testRunDetails": {
"testRunHistory": [
{
"executorName": "cma",
"activity": "Passed",
"testRunId": 3170,
"executorId": 10001,
"executionOn": "12-Apr-2019 01:43:14",
"activityType": "Status",
"executorFullName": "Cheney Ma"
}
],
"prevRunId": 3169,
"nextRunId": 3171
},
"testCycleSummary": "Round 3 with IE"
}
]
STATUS 200 Returned if the Test Runs are successfully done during the specified period
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycle/{cycleName}/updateTestRun
注意:如果要更新”执行属性“信息的话,需要手动创建”执行属性“及其值。
REQUEST
{
"testcaseKey":"FRS-14",
"result":"Passed",
"comment":"Updated through REST"
"runAttributes":
{
"Configuration": [
"Inter_Configure_2",
"Inter_Configure_3"
],
"Instance": [
"sbus.ins1",
"sbus.ins2"
]
}
}
RESPONSE
STATUS 200 Returned if the Test Run is updated successfully
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testRun/updateStep/
To get "runStepId", please execute "GET /rest/synapse/latest/public/testRun/{runID}" and then pickup "testRunSteps id" value from its response.
REQUEST
{
"runStepId":15366, "result":"Blocked", "actualResult":"This Test Step is failed.", "bugs":["FRS-23"]
}
RESPONSE
STATUS 200 Returned if the Test Run Step Result is successfully updated
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the runStepId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testRun/update
REQUEST
{
"runId":"3174", "result":"Failed", "comment":"Updated through REST API", "bugs":["FRS-24"]
}
RESPONSE
STATUS 200 Returned if the Test Run Step Result is successfully updated
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the runId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/bulkStatusUpdate
REQUEST
Valid 'status' are: - Passed - Failed - Not Tested - Blocked - NA
{
"testCycleId":153,
"status":"Failed",
"runIds":[3164,3165,3166]
}
RESPONSE
STATUS 200 Returned if the Test Runs results are successfully updated
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycle/{cycleName}/linkBugToTestRun
REQUEST
{
"testcaseKey":"FRS-15",
"bugs":["FRS-23","FRS-24"]
}
RESPONSE
STATUS 200 Returned if the Bug is successfully linked to the Test Run
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPlanIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/attachment/{runId}/testrun
Please note that runId doesn't include the prefix 'TR'.
Supported content type: MULTIPART_FORM_DATA
RESPONSE
STATUS 200 Returned if the attachment is successfully added to Test Run
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the runId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/attachment/{runId}/testrun/step/{stepno}
Please note that runId doesn't include the prefix 'TR'.
Supported content type: MULTIPART_FORM_DATA
RESPONSE
STATUS 200 Returned if the attachment is successfully added to Test Run Step
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the runId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testRun/createRunBug
REQUEST
{
"fields":
{
"project":
{"key": "FRS"},
"summary": "REST API Defect Created for Test Run",
"description": "This Defect is Created from a Test Run",
"issuetype":
{"name": "Defect"}
},
"runId":3149
}
RESPONSE
{
"id": 16000,
"key": "FRS-34"
}
STATUS 200 Returned if the Defect is successfully created from the Test Run
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the runId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testRun/createRunStepBug
REQUEST
{
"fields":
{
"project":
{"key": "FRS"},
"summary": "REST API Defect Created for Test Run Step",
"description": "This Defect is Created from a Test Run Step",
"issuetype":
{"name": "Defect"}
},
"runStepId":15176
}
RESPONSE
{
"id": 16001,
"key": "FRS-35"
}
STATUS 200 Returned if the Defect is successfully created from the Test Run Step
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the runStepId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testRun/defects/runId
RESPONSE
[
{
"id": 16001,
"key": "FRS-35",
"summary": "REST API Defect Created for Test Run Step"
},
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
},
{
"id": 16000,
"key": "FRS-34",
"summary": "REST API Defect Created for Test Run"
}
]
STATUS 200 Returned if the Defects are successfully retrieved from the Test Run
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the runId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/attachment/{runId}/getAttachmentDetails
RESPONSE
[
{
"fileName": "Attachment1 - Attached in a Test Run Step.jpg",
"mimeType": "image/jpeg",
"id": 63,
"filePath": "http://localhost:8848/plugins/servlet/downloadTRAttachment?attachmentId=63"
},
{
"fileName": "Attachment2 - Attached in a Test Run.jpg",
"mimeType": "image/jpeg",
"id": 64,
"filePath": "http://localhost:8848/plugins/servlet/downloadTRAttachment?attachmentId=64"
}
]
STATUS 200 Returned if the attachments are successfully retrieved from the Test Run
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the runId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
DELETE /rest/synapse/latest/public/attachment/{runId}/deleteAttachment/{attachmentId}
RESPONSE
STATUS 200 Returned if the attachment is successfully deleted from the Test Run
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the runId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
测试用例资源
POST: /rest/synapse/latest/public/testCase/create/createTestCase
REQUEST
{
"fields":
{
"project":
{"key": "FRS"},
"summary": "REST API Test Case 1",
"description": "This Test Case Is Created from REST API",
"issuetype":
{"name": "Test Case"}
}
"testcasesteps":
[
{"step":"It is the first Test Step", "stepData": "It is Test Data for the first Test Step", "expectedResult":"It is the Expected Result for the first Test Step"},
{"step":"It is the second Test Step", "stepData": "It is Test Data for the second Test Step", "expectedResult":"It is the Expected Result for the second Test Step"}
]
}
RESPONSE
{
"id": 16000,
"key": "FRS-34"
}
STATUS 200 Returned if the Test Case is successfully created
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the 'fields' provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST: /rest/synapse/latest/public/testSuite/createTestCase
- If 'testSuitePath' doesn't exist, a new Test Suite will be created by API and then link Test Case to it.
- If 'TestSuitePath' exists, the Test Case will be linked to the Test Suite directly.
REQUEST
{
"fields":
{
"project":
{"key": "FRS"},
"summary": "REST API Test Case with Test Suite",
"description": "This Test Case Is Created from REST API",
"issuetype":
{"name": "Test Case"}
},
"testcasesteps":
[
{"step": "It is the first Test Step", "stepData": "It is Test Data for the first Test Step", "expectedResult": "It is the Expected Result for the first Test Step"},
{"step": "It is the second Test Step", "stepData": "It is Test Data for the second Test Step", "expectedResult": "It is the Expected Result for the second Test Step"}
],
"linkToTestSuite":
{
"testSuitePath": "ROOT Test Suite/Sub Test Suite",
"projectKey": "FRS"
}
}
RESPONSE
{
"testSuitePath": "ROOT Test Suite/Sub Test Suite",
"projectKey": "FRS",
"testCaseKey": "FRS-146",
"createdTestSuiteId": 281,
"createdTestCase": {
"id": 16282,
"key": "FRS-146"
}
}
STATUS 200 Returned if the Test Case is successfully created
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST: /rest/synapse/latest/public/testSuite/linkTestCase
- If 'testSuitePath' doesn't exist, a new Test Suite will be created by API and then link Test Case/s to it.
- If 'TestSuitePath' exists, the Test Case/s will be linked to the Test Suite directly.
REQUEST
{
"testCaseKeys": ["FRS-14","FRS-15"],
"testSuitePath": "ROOT Test Suite/Sub Test Suite",
"projectKey": "FRS"
}
RESPONSE
STATUS 200 Returned if the Test Case/s is successfully linked to specified Test Suite
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testCase/{testCaseIssueKey}/addSteps
REQUEST
[
{ "step":"Step 1 added via REST API",
"stepData": "It is step data A for testing",
"expectedResult":"Expected Result 1 added via REST API"
},
{ "step":"Step 2 added via REST API",
"stepData": "It is step data B for testing",
"expectedResult":"Expected Result 1 added via REST API"
}
]
RESPONSE
[
{
"sequenceNumber": "8",
"id": 1707,
"step": "Step 1 added via REST API",
"expectedResult": "Expected Result 1 added via REST API",
"tcId": 15713,
"stepData": "It is step data A for testing"
},
{
"sequenceNumber": "9",
"id": 1708,
"step": "Step 2 added via REST API",
"expectedResult": "Expected Result 1 added via REST API",
"tcId": 15713,
"stepData": "It is step data B for testing"
}
]
STATUS 200 Returned if the Test Steps are successfully added to the Test Case
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testCase/{testCaseIssueKey}/steps
EXAMPLE
[
{
"sequenceNumber": "1",
"id": 1672,
"step": "Login 'FRS' system valid u/p.",
"expectedResult": "User logged in successfully.",
"tcId": 15713
},
{
"sequenceNumber": "2",
"id": 1673,
"step": "Choose any ticket and click on 'Purchase' button.",
"expectedResult": "It redirects to 'Purchase' page.",
"tcId": 15713
}
]
RESPONSE
STATUS 200 Returned if the Test Steps are successfully retrieved from the Test Case
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testCase/{testCaseIssueKey}/linkedTestSuites
EXAMPLE
{
"summary": "Return error if name is not correct",
"projectKey": "FRS",
"testSuites": [
"Flight Reservation System/Purchase Ticket/Credit Card Validation/Valid Card Owner"
]
}
RESPONSE
STATUS 200 Returned if the linked Test Suite information is successfully retrieved from the Test Case
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testCase/{testCaseIssueKey}/linkedTestPlans
EXAMPLE
{
"summary": "Return error if name is not correct",
"projectKey": "FRS",
"testPlans": [
{
"testPlanKey": "FRS-31",
"testPlanSummary": " Functionality Testing in Sprint 20",
"testCycles": [
{
"testCycleId": 151,
"testCycleName": "Round 1 with Chrome",
"notifyTester": false
},
{
"testCycleId": 152,
"testCycleName": "Round 2 with Firefox_Update",
"notifyTester": false
},
{
"testCycleId": 153,
"testCycleName": "Round 3 with IE",
"notifyTester": false
},
{
"testCycleId": 159,
"testCycleName": "REST API Cycle 1",
"notifyTester": false
},
{
"testCycleId": 162,
"testCycleName": "Round 1 with Chromea",
"notifyTester": false
}
]
},
{
"testPlanKey": "FRS-22",
"testPlanSummary": "Functionality Testing in Sprint 16",
"testCycles": [
{
"testCycleId": 147,
"testCycleName": "Cycle - Chrome",
"notifyTester": false
},
{
"testCycleId": 148,
"testCycleName": "Cycle - Firefox",
"notifyTester": false
},
{
"testCycleId": 149,
"testCycleName": "Cycle - IE",
"notifyTester": false
}
]
}
]
}
RESPONSE
STATUS 200 Returned if the linked Test Plan information is successfully retrieved from the Test Case
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/testCase/{testCaseIssueKey}/updateTestReference
- If 'Test Reference' value doesn't exist, the value will be created by the API.
- If 'Test Reference' value already exists, it will be replaced by the new value mentioned in API.
- If 'Test Reference' value needs to be cleared, specify automationReference":"" as API body.
EXAMPLE
{
"automationReference":"API.Automation_Script_ClassName1:Test1"
}
RESPONSE
STATUS 200 Returned if the Test Reference information is successfully created from the Test Case
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testCase/{testCaseIssueKey}/automationReference
EXAMPLE
{
"summary": "FRS Smoke Testing - Automation Demo Test Case 1",
"projectKey": "FRS",
"automationReference": "com.pba.test.module2.TestCase1:VerifyJiraRalDefSync"
}
RESPONSE
STATUS 200 Returned if the Test Reference information is successfully retrieved from the Test Case
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
PUT /rest/synapse/latest/public/testCase/{testCaseIssueKey}/updateStep
REQUEST
{"ID":"1704", "step":"Update Step X", "expectedResult":"Update Expected Result X", "stepData":"Update Test Data X"}
RESPONSE
STATUS 200 Returned if the Test Step is successfully updated
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the ID provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
PUT /rest/synapse/latest/public/testCase/{testCaseIssueKey}/updateStep
REQUEST
{ "sequenceNumber":"1", "step":"Step 1", "expectedResult":"Result 1", "stepData":"Data 1" }
RESPONSE
STATUS 200 Returned if the Test Step is successfully updated
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the sequenceNumber provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
DELETE /rest/synapse/latest/public/testCase/{testCaseIssueKey}/deleteStep/{stepId}
RESPONSE
STATUS 200 Returned if the Test Step is successfully deleted
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the stepId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
DELETE /rest/synapse/latest/public/testCase/{testCaseIssueKey}/deleteStepBySequenceNo/{stepNo}
RESPONSE
STATUS 200 Returned if the Test Step is successfully deleted
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the stepNo provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testCase/{testCaseIssueKey}/linkedRequirements
RESPONSE
[
{
"id": 15703,
"key": "FRS-4",
"summary": "Valid Card Owner"
},
{
"id": 15701,
"key": "FRS-2",
"summary": "Credit Card Validation"
},
{
"id": 15704,
"key": "FRS-5",
"summary": "Passenger Information Validation"
}
]
STATUS 200 Returned if the linked Requirements are successfully retrieved from the Test Case
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
DELETE /rest/synapse/latest/public/testCase/{testCaseIssueKey}/deleteLinkedRequirements
REQUEST
{"requirementKeys":["FRS-3","FRS-4"]}
RESPONSE
STATUS 200 Returned if the Requirement Associations are successfully deleted
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
PUT /rest/synapse/latest/public/testRun/adhoc/create/{testCaseIssueKey}
RESPONSE
{
"id": 3176,
"type": 0,
"status": "Not Tested",
"testCaseKey": "FRS-15",
"lozenge": "aui-lozenge ",
"summary": "Return error if name is not correct",
"testRunDetails": {
"prevRunId": 3175
},
"testerName": "cma",
"testCaseId": 15714
}
STATUS 200 Returned if the Test Case is successfully assigned to specified Tester
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testRun/adhoc/getTestRuns/{testCaseIssueKey}
RESPONSE
[
{
"id": 3176,
"type": 0,
"status": "Not Tested",
"testCaseKey": "FRS-15",
"lozenge": "aui-lozenge ",
"summary": "Return error if name is not correct",
"testRunDetails": {
"testRunSteps": [
{
"id": 15265,
"status": "Not Tested",
"step": "Login 'FRS' system valid u/p.",
"testRunStepAttachments": [],
"expectedResult": "User logged in successfully."
},
{
"id": 15266,
"status": "Not Tested",
"step": "Choose any ticket and click on '*Purchase*' button.",
"stepData": "",
"testRunStepAttachments": [],
"expectedResult": "It redirects to 'Purchase' page."
},
{
"id": 15267,
"status": "Not Tested",
"step": "Specify your ID and Name in '{color:red}Passenger Name{color}' section.",
"stepData": "",
"testRunStepAttachments": [],
"expectedResult": ""
},
{
"id": 15268,
"status": "Not Tested",
"step": "Click 'Check' button. ",
"testRunStepAttachments": [],
"expectedResult": "It returns an error: 'Your ID and Name are inconsistent, please check again!'."
},
{
"id": 15269,
"status": "Not Tested",
"step": "*Below is an inline image for Step 5:*\n !UG_AD11_Preference.jpg|thumbnail!",
"stepData": "",
"testRunStepAttachments": [],
"expectedResult": "*Below is an inline image for Step 5:*\n !UG_AD10_Preference.jpg|thumbnail!"
}
],
"prevRunId": 3175
},
"testerName": "cma",
"testCaseId": 15714
},
{
"id": 3174,
"type": 0,
"status": "Passed",
"testCaseKey": "FRS-15",
"lozenge": "aui-lozenge aui-lozenge-success",
"summary": "Return error if name is not correct",
"testRunDetails": {
"testRunSteps": [
{
"id": 15254,
"status": "Passed",
"step": "Login 'FRS' system valid u/p.",
"testRunStepAttachments": [],
"expectedResult": "User logged in successfully."
},
{
"id": 15255,
"status": "Passed",
"step": "Choose any ticket and click on '*Purchase*' button.",
"stepData": "",
"testRunStepAttachments": [],
"expectedResult": "It redirects to 'Purchase' page."
},
{
"id": 15256,
"status": "Passed",
"step": "Specify your ID and Name in '{color:red}Passenger Name{color}' section.",
"stepData": "",
"testRunStepAttachments": [],
"expectedResult": ""
},
{
"id": 15257,
"status": "Passed",
"step": "Click 'Check' button. ",
"testRunStepAttachments": [],
"expectedResult": "It returns an error: 'Your ID and Name are inconsistent, please check again!'."
},
{
"id": 15258,
"status": "Passed",
"step": "*Below is an inline image for Step 5:*\n !UG_AD11_Preference.jpg|thumbnail!",
"stepData": "",
"testRunStepAttachments": [],
"expectedResult": "*Below is an inline image for Step 5:*\n !UG_AD10_Preference.jpg|thumbnail!"
}
],
"testRunHistory": [
{
"executorName": "cma",
"testRunId": 3174,
"activity": "Passed",
"executionTime": 1492569650867,
"activityType": "Status"
}
],
"prevRunId": 3173,
"nextRunId": 3175
},
"testerName": "cma",
"testCaseId": 15714
}
]
STATUS 200 Returned if the Ad Hoc Test Run Details are successfully retrieved from the Test Case
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testCase/{testCaseIssueKey}/getDefects
RESPONSE
[
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
},
{
"id": 15725,
"key": "FRS-26",
"summary": "Error message is wrong after clicking 'Save' button."
},
{
"id": 15900,
"key": "FRS-33",
"summary": "There is an error when open xxx page."
}
]
STATUS 200 Returned if the Defects are successfully retrieved from the Test Case
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testCaseIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
需求资源
POST /rest/synapse/latest/public/requirement/{requirementIssueKey}/addChildren
REQUEST
{"requirementKeys":["FRS-3","FRS-4"]}
RESPONSE
STATUS 200 Returned if the Child Requirements are successfully linked to the Requirement
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the requirementIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/requirement/{requirementIssueKey}/getChildren
RESPONSE
[
{
"id": 15701,
"key": "FRS-2",
"summary": "Credit Card Validation"
},
{
"id": 15704,
"key": "FRS-5",
"summary": "Passenger Information Validation"
},
{
"id": 15702,
"key": "FRS-3",
"summary": "Valid Bank"
},
{
"id": 15703,
"key": "FRS-4",
"summary": "Valid Card Owner"
},
{
"id": 15705,
"key": "FRS-6",
"summary": "Registered User"
},
{
"id": 15706,
"key": "FRS-7",
"summary": "Not Registered User"
}
]
STATUS 200 Returned if the Child Requirements are successfully retrieved from the Requirement
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the requirementIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/requirement/{requirementIssueKey}/getOnlyImmediateChildren
RESPONSE
[
{
"id": 15702,
"key": "FRS-3",
"summary": "Valid Bank"
},
{
"id": 15703,
"key": "FRS-4",
"summary": "Valid Card Owner"
}
]
STATUS 200 Returned if the immediate Child Requirements are successfully retrieved from the Requirement
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the requirementIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST /rest/synapse/latest/public/requirement/{requirementIssueKey}/linkTestCase
REQUEST
{
"testCaseKeys":["FRS-14","FRS-15"]
}
RESPONSE
STATUS 200 Returned if the Test Cases are successfully linked to the Requirement
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the requirementIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/requirement/{requirementIssueKey}/linkedTestCases
EXAMPLE
[
{
"id": 15714,
"key": "FRS-15",
"summary": "Return error if name is not correct"
},
{
"id": 15715,
"key": "FRS-16",
"summary": "Return error if age is not correct"
},
{
"id": 15716,
"key": "FRS-17",
"summary": "Return error if sex is not correct "
}
]
STATUS 200 Returned if the linked Test Cases are successfully retrieved from the Requirement
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the requirementIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
DELETE /rest/synapse/latest/public/requirement/{requirementIssueKey}/deleteLinkedTestCases
REQUEST
{ "testCaseKeys":["FRS-16","FRS-17"]}
RESPONSE
STATUS 200 Returned if the Test Case Associations are successfully deleted
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the requirementIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/requirement/{requirementIssueKey}/getDefects
RESPONSE
[
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
},
{
"id": 15723,
"key": "FRS-24",
"summary": "System is down, testing is blocked."
},
{
"id": 15725,
"key": "FRS-26",
"summary": "Error message is wrong after clicking 'Save' button."
},
{
"id": 15900,
"key": "FRS-33",
"summary": "There is an error when open xxx page."
}
]
STATUS 200 Returned if the Defects are successfully retrieved from the Requirement
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the requirementIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/requirement/{projectKey}/requirementSuites
RESPONSE
{
"requirementSuites": [
{
"name": "v1.0 - In Progress",
"id": 2,
"projectId": 10800
},
{
"name": "v2.0 - Backlog (Need Review)",
"id": 3,
"projectId": 10800
},
{
"name": "933A3 REQ Suite1",
"id": 4,
"projectId": 10800
}
],
"requirements": [
{
"id": 16202,
"key": "FRS-36",
"summary": "v3.0 - Develop Feature C (TBD)"
}
]
}
STATUS 200 Returned if the Requirement Suites are successfully retrieved from the project
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the projectKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/requirement/requirementSuite/{suiteId}
RESPONSE
{
"requirementSuites": [],
"id": 5,
"name": "Sub Suite 1",
"projectId": 10800,
"requirements": [
{
"id": 16201,
"key": "FRS-35",
"summary": "v3.0 - Develop Feature B (TBD)"
}
]
}
STATUS 200 Returned if the Requirement Suite Members are successfully retrieved from the project
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the suiteId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/requirement/{requirementIssueKey)/linkedRequirementSuites
RESPONSE
{
"requirementSuites": "933A3 REQ Suite1/Sub Suite 1",
"summary": "v3.0 - Develop Feature A (TBD)",
"projectKey": "FRS",
"requirementHierarchy": "FRS-35->FRS-34"
}
STATUS 200 Returned if the Requirement Suite Information is successfully retrieved from the project
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the requirementIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
缺陷资源
GET /rest/synapse/latest/public/testRun/getTestRunsForDefect/{defectIssueKey}
RESPONSE
[
{
"id": 3117,
"type": 0,
"status": "Failed",
"testCaseKey": "FRS-15",
"lozenge": "aui-lozenge aui-lozenge-error",
"summary": "Return error if name is not correct",
"testRunDetails": {
"testRunSteps": [
{
"id": 15087,
"status": "Passed",
"step": "Login 'FRS' system valid u/p.",
"testRunStepAttachments": [],
"expectedResult": "User logged in successfully."
},
{
"id": 15088,
"status": "Passed",
"step": "Choose any ticket and click on 'Purchase' button.",
"testRunStepAttachments": [],
"expectedResult": "It redirects to 'Purchase' page."
},
{
"id": 15089,
"status": "Passed",
"step": "Specify your ID and Name in 'Passenger Name' section.",
"testRunStepAttachments": [],
"expectedResult": ""
},
{
"id": 15090,
"status": "Failed",
"step": "Click 'Check' button. ",
"testRunStepBugsWrapper": [
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
],
"testRunStepAttachments": [
{
"id": 60,
"fileName": "Test_Case_View_Test_Suite_v8.1.jpg",
"mimeType": "image/jpeg"
}
],
"expectedResult": "It returns an error: 'Your ID and Name are inconsistent, please check again!'."
}
],
"testRunHistory": [
{
"executorName": "cma",
"testRunId": 3117,
"activity": "Passed",
"executionTime": 1467342070139,
"activityType": "Status"
},
{
"executorName": "cma",
"testRunId": 3117,
"activity": "Passed",
"executionTime": 1467342070140,
"activityType": "Status"
},
{
"executorName": "cma",
"testRunId": 3117,
"activity": "Passed",
"executionTime": 1467342070140,
"activityType": "Status"
},
{
"executorName": "cma",
"testRunId": 3117,
"activity": "Passed",
"executionTime": 1467342070140,
"activityType": "Status"
},
{
"executorName": "cma",
"testRunId": 3117,
"activity": "Failed",
"executionTime": 1467342073924,
"activityType": "Status"
},
{
"executorName": "cma",
"testRunId": 3117,
"activity": "Attached",
"executionTime": 1467342100470,
"activityType": "Issue"
}
],
"testRunBugs": [
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
],
"testRunAttachments": [],
"prevRunId": 3120
},
"testerName": "cma",
"testCaseId": 15714
},
{
"id": 3149,
"type": 0,
"status": "Failed",
"testCaseKey": "FRS-15",
"lozenge": "aui-lozenge aui-lozenge-error",
"summary": "Return error if name is not correct",
"testRunDetails": {
"testRunSteps": [
{
"id": 15173,
"status": "Passed",
"step": "Login 'FRS' system valid u/p.",
"testRunStepAttachments": [],
"expectedResult": "User logged in successfully."
},
{
"id": 15174,
"status": "Passed",
"step": "Choose any ticket and click on '*Purchase*' button.",
"stepData": "",
"testRunStepAttachments": [],
"expectedResult": "It redirects to 'Purchase' page."
},
{
"id": 15175,
"status": "Passed",
"step": "Specify your ID and Name in '{color:red}Passenger Name{color}' section.",
"stepData": "",
"testRunStepAttachments": [],
"expectedResult": ""
},
{
"id": 15176,
"status": "Failed",
"step": "Click 'Check' button. ",
"testRunStepBugsWrapper": [
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
],
"testRunStepAttachments": [
{
"id": 61,
"fileName": "Performance_Manage_REQs_Loading_Issue.jpg",
"mimeType": "image/jpeg"
}
],
"expectedResult": "It returns an error: 'Your ID and Name are inconsistent, please check again!'."
},
{
"id": 15177,
"status": "Passed",
"step": "*Below is an inline image for Step 5:*\n!Image_for_DEMO_Purpose.png|thumbnail!",
"stepData": "",
"testRunStepAttachments": [],
"expectedResult": "*Below is an inline image for Step 5:*\n!Image_for_DEMO_Purpose.png|thumbnail!"
}
],
"testRunHistory": [
{
"executorName": "cma",
"testRunId": 3149,
"activity": "Passed",
"executionTime": 1478160384762,
"activityType": "Status"
},
{
"executorName": "cma",
"testRunId": 3149,
"activity": "Failed",
"executionTime": 1478160387086,
"activityType": "Status"
},
{
"executorName": "cma",
"testRunId": 3149,
"activity": "+ FRS-23",
"executionTime": 1478160401266,
"activityType": "Issue"
}
],
"testRunBugs": [
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
}
],
"testRunAttachments": [
{
"id": 62,
"fileName": "Performance_Manage_REQs_Loading_Issue.jpg",
"mimeType": "image/jpeg"
}
],
"prevRunId": 3148,
"nextRunId": 3150
},
"testerName": "cma",
"testCaseId": 15714
}
]
STATUS 200 Returned if the Test Run Details are successfully retrieved from the Defect
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the defectIssueKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
其它资源
GET /rest/synapse/latest/public/testPlan/defects/buildDefects/{buildName}
RESPONSE
[
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
},
{
"id": 16000,
"key": "FRS-34",
"summary": "REST API Defect Created for Test Run"
},
{
"id": 16001,
"key": "FRS-35",
"summary": "REST API Defect Created for Test Run Step"
},
{
"id": 15723,
"key": "FRS-24",
"summary": "System is down, testing is blocked."
},
{
"id": 15803,
"key": "FRS-32",
"summary": "The dialog box should be improved."
},
{
"id": 15725,
"key": "FRS-26",
"summary": "Error message is wrong after clicking 'Save' button."
}
]
STATUS 200 Returned if the Defects are successfully retrieved from the Build
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the buildName provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testPlan/defects/environmentDefects/{envName}
RESPONSE
[
{
"id": 15722,
"key": "FRS-23",
"summary": "There is no error returned."
},
{
"id": 15723,
"key": "FRS-24",
"summary": "System is down, testing is blocked."
},
{
"id": 15727,
"key": "FRS-28",
"summary": "Not able to input any data in 'Data' field."
},
{
"id": 16000,
"key": "FRS-34",
"summary": "REST API Defect Created for Test Run"
},
{
"id": 16001,
"key": "FRS-35",
"summary": "REST API Defect Created for Test Run Step"
},
{
"id": 15803,
"key": "FRS-32",
"summary": "The dialog box should be improved."
}
]
STATUS 200 Returned if the Defects are successfully retrieved from the Environment
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the envName provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
POST: /rest/synapse/latest/public/testSuite/createTestSuite
REQUEST
{
"testSuitePath": "API Test Suite/Sub Test Suite",
"projectKey": "FRS"
}
RESPONSE
{
"testSuitePath": "API Test Suite/Sub Test Suite",
"projectKey": "FRS"
}
STATUS 200 Returned if the Test Suite is successfully created
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testSuite/{projectKey}/testSuites
RESPONSE
[
{
"name": "Flight Reservation System",
"state": 1,
"id": 217,
"projectId": 10800,
"nameEncoded": "Flight Reservation System"
},
{
"name": "ROOT Test Suite1",
"state": 1,
"id": 233,
"projectId": 10800,
"nameEncoded": "ROOT Test Suite1"
},
{
"name": "ROOT Test Suite 2",
"state": 1,
"id": 234,
"projectId": 10800,
"nameEncoded": "ROOT Test Suite 2"
}
]
STATUS 200 Returned if the Test Suite List is successfully retrieved from the project
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the projectKey provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
GET /rest/synapse/latest/public/testSuite/testSuite/{suiteId}
RESPONSE
{
"name": "Valid Bank",
"state": 1,
"id": 226,
"projectId": 10800,
"testSuiteMembers": [
{
"memberType": 0,
"id": 812,
"sequence": 0,
"memberId": 15713,
"testCaseIssue": {
"id": 15713,
"key": "FRS-14",
"summary": "Valid the bank name"
}
}
],
"nameEncoded": "Valid Bank"
}
STATUS 200 Returned if the Test Suite Members are successfully retrieved from the project
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the suiteId provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error