(8.5-zh_CN) REST API
- Cheney Ma
这个页面介绍了synapseRT NextGen提供的REST API,用户可以利用调用这些API以完成对此插件的操作。
向测试计划中添加测试用例
POST /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/addMembers
Example
{ "testCaseKeys":["ABC-1","ABC-2","ABC-3"] }
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
在测试计划中创建测试周期
POST /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/addCycle
Example
{ "name":"Sample Cycle", "environment":"Firefox", "build":"8.1" }
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
改变测试周期状态
PUT /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycle/{cycleName}/wf/{action}
Valid actions are
- Start
- Complete
- Abort
- Resume
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}/cycle/{cycleName}/updateTestRun
Example
{ "testcaseKey":"ABC-4", "result":"Passed", "comment":"Updated through REST" }
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/testPlan/{testPlanIssueKey}/cycle/{cycleName}/linkBugToTestRun
Example
{ "testcaseKey":"ABC-5", "bugs":["ABC-6","ABC-7"] }
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
返回测试计划中的测试周期信息
GET /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycles
STATUS 200 Returned if the Test Cycles are successfully retrieved
Example
[ { "ID": 1, "name": "Cycle 1", "status": "Completed", "draft": false, "deleteable": false, "cycleStartedDate": "2016-04-11T12:44:15.105+0530", "cycleCompletedDate": "2016-04-29T15:48:01.806+0530" }, { "ID": 2, "name": "Cycle 2", "status": "Aborted", "draft": false, "deleteable": false, "cycleStartedDate": "2016-04-15T15:53:53.854+0530", "cycleCompletedDate": "2016-04-29T15:48:17.640+0530" }, { "ID": 3, "name": "Cycle 3", "status": "Active", "draft": false, "deleteable": false, "cycleStartedDate": "2016-04-15T15:54:03.909+0530" }, { "ID": 4, "name": "Cycle 4", "status": "Draft", "draft": true, "deleteable": true } ]
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
STATUS 200 Returned if the Test Runs are successfully retrieved
Example
[ { "ID": 1, "summary": "Case 1", "status": "Failed", "testCaseKey": "TP-3", "executedBy": "admin", "attachments": [ { "ID": 2, "fileName": "atlassian-jira (1).log", "mimeType": "application/octet-stream" } ], "bugs": [ { "id": 10100, "key": "TP-6", "summary": "bug" } ], "executionTimeStamp": "2016-04-29T19:15:57.105+0530" }, { "ID": 2, "summary": "Case 2", "status": "Not Tested", "testCaseKey": "TP-4", "executedBy": "admin", "bugs": [ { "id": 10100, "key": "TP-6", "summary": "bug" }, { "id": 10300, "key": "TP-9", "summary": "test 1" }, { "id": 10301, "key": "TP-10", "summary": "bug-2" } ], "executionTimeStamp": "2016-04-29T11:06:30.011+0530" } ]
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
通过测试周期ID返回测试周期中的测试执行信息
GET /rest/synapse/latest/public/testPlan/{testPlanIssueKey}/cycle/{cycleId}/testRunsByCycleId
STATUS 200 Returned if the Test Runs are successfully retrieved
Example
[ { "ID": 1, "summary": "Case 1", "status": "Failed", "testCaseKey": "TP-3", "executedBy": "admin", "attachments": [ { "ID": 2, "fileName": "atlassian-jira (1).log", "mimeType": "application/octet-stream" } ], "bugs": [ { "id": 10100, "key": "TP-6", "summary": "bug" } ], "executionTimeStamp": "2016-04-29T19:15:57.105+0530" }, { "ID": 2, "summary": "Case 2", "status": "Not Tested", "testCaseKey": "TP-4", "executedBy": "admin", "bugs": [ { "id": 10100, "key": "TP-6", "summary": "bug" }, { "id": 10300, "key": "TP-9", "summary": "test 1" }, { "id": 10301, "key": "TP-10", "summary": "bug-2" } ], "executionTimeStamp": "2016-04-29T11:06:30.011+0530" } ]
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/testCase/{testCaseIssueKey}/addSteps
Example
[ { "step":"Login with valid username and password", "stepData": "It is step data A for testing", "expectedResult":"Successful Login" }, { "step":"Check if Dashboard is loaded", "stepData": "It is step data B for testing", "expectedResult":"Default Dashboard successfully loaded" } ]
STATUS 200 Returned if the Test Steps are successfully added to the Test Case
Example
[ { "ID":1, "tcId":10001, "step":"Login with valid username and password", "expectedResult":"Successful Login", "sequenceNumber":1 }, { "ID":2, "tcId":10001, "step":"Check if Dashboard is loaded", "expectedResult":"Default Dashboard successfully loaded", "sequenceNumber":2 } ]
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
STATUS 200 Returned if the Test Steps are successfully retrieved from the Test Case
Example
[ { "ID":1, "tcId":10001, "step":"Login with valid username and password", "expectedResult":"Successful Login", "sequenceNumber":1 }, { "ID":2, "tcId":10001, "step":"Check if Dashboard is loaded", "expectedResult":"Default Dashboard successfully loaded", "sequenceNumber":2 } ]
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}/linkTestCase
Example
{ "testCaseKeys":["ABC-10","ABC-11"] }
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
向一个需求关联子级需求
POST /rest/synapse/latest/public/requirement/{requirementIssueKey}/addChildren
Example
{ "requirementKeys":["ABC-12","ABC-13"] }
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/testPlan/{testplanIssueKey}/members
STATUS 200 Returned if the Test Cases are successfully retrieved from the Test Plan
Example
[ { "ID": 1138, "tcId": 15414, "tpId": 15416, "testCaseKey": "SPC-1", "testCaseSummary": "Verify if the user name is correct" }, { "ID": 1140, "tcId": 15415, "tpId": 15416, "testCaseKey": "SPC-2", "testCaseSummary": "Verify if the age name is correct" } ]
STATUS 403 Returned if the user is not authorized perform the action or there is no valid license
STATUS 404 Returned if the testPaseIssueKey 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}
请注意runID不包含前缀'TR'.
STATUS 200 Returned if the Test Run Details are successfully retrieved
Example
{ "ID": 3149, "summary": "Return error if name is not correct", "status": "Failed", "lozenge": "aui-lozenge ", "testerName": "cma", "comment": "<p>This Test Case is failed.</p>", "testCaseKey": "FRS-15", "testCaseId": 15714, "type": 0, "testRunDetails": { "testRunSteps": [ { "ID": 15173, "step": "Login 'FRS' system valid u/p.", "expectedResult": "User logged in successfully.", "status": "Passed", "testRunStepBugsWrapper": [], "testRunStepAttachments": [] }, { "ID": 15174, "step": "Choose any ticket and click on '*Purchase*' button.", "stepData": "", "expectedResult": "It redirects to 'Purchase' page.", "status": "Passed", "testRunStepBugsWrapper": [], "testRunStepAttachments": [] }, { "ID": 15175, "step": "Specify your ID and Name in '{color:red}Passenger Name{color}' section.", "stepData": "", "expectedResult": "", "status": "Passed", "testRunStepBugsWrapper": [], "testRunStepAttachments": [] }, { "ID": 15176, "step": "Click 'Check' button. ", "expectedResult": "It returns an error: 'Your ID and Name are inconsistent, please check again!'.", "actualResult": "It is failed due to FRS-23", "status": "Failed", "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" } ] }, { "ID": 15177, "step": "*Below is an inline image for Step 5:*\n!Image_for_DEMO_Purpose.png|thumbnail!", "stepData": "", "expectedResult": "*Below is an inline image for Step 5:*\n!Image_for_DEMO_Purpose.png|thumbnail!", "status": "Failed", "testRunStepBugsWrapper": [ { "id": 15919, "key": "FRS-52", "summary": "[8.4.1.1-alpha3] Regression - Defect 3 (Improvement)" } ], "testRunStepAttachments": [] } ], "automationRunSteps": [], "testRunHistory": [ { "activityType": "Status", "activity": "Passed", "executorName": "Cheney Ma", "executionTime": 1478160384762, "testRunId": 3149 }, { "activityType": "Status", "activity": "Failed", "executorName": "Cheney Ma", "executionTime": 1478160387086, "testRunId": 3149 }, { "activityType": "Issue", "activity": "+ FRS-23", "executorName": "Cheney Ma", "executionTime": 1478160401266, "testRunId": 3149 }, { "activityType": "Issue", "activity": "+ FRS-52", "executorName": "Cheney Ma", "executionTime": 1480489278071, "testRunId": 3149 } ], "testRunBugs": [ { "id": 15722, "key": "FRS-23", "summary": "There is no error returned." }, { "id": 15919, "key": "FRS-52", "summary": "[8.4.1.1-alpha3] Regression - Defect 3 (Improvement)" } ], "testRunAttachments": [ { "ID": 62, "fileName": "Performance_Manage_REQs_Loading_Issue.jpg", "mimeType": "image/jpeg" } ], "prevRunId": 3148, "nextRunId": 3150 }, "bugs": [ { "id": 15722, "key": "FRS-23", "summary": "There is no error returned." }, { "id": 15919, "key": "FRS-52", "summary": "[8.4.1.1-alpha3] Regression - Defect 3 (Improvement)" } ] }
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/updateStep/
Example
{ "runStepId":2, "result":"Failed", "actualResult":"Updated via REST with bugs", "bugs":["FRS-23"] }
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
根据runId更新测试执行结果
POST /rest/synapse/latest/public/testRun/update
Example
{ "runId":"3179", "result":"Failed", "comment":"This Test Case is failed.", "bugs":["FRS-23"] }
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
根据ID更新测试步骤
PUT /rest/synapse/latest/public/testCase/{issueKey}/updateStep
Example
{ "ID":"67", "step":"Step 1", "expectedResult":"Result 1", "stepData":"Data 1" }
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 ID provided is not found
STATUS 500 Returned if there is any validation error with input data or any unknown Internal Server Error
根据ID删除一个测试步骤
DELETE /rest/synapse/latest/public/testCase/{issueKey}/deleteStep/{stepId}
STATUS 200 Returned if the Test Case 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
返回一个需求问题的所有子级需求
GET /rest/synapse/latest/public/requirement/{requirementIssueKey}/getChildren
STATUS 200 Returned if the Child Requirements are successfully retrieved from the Requirement
Example
[ { "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 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/testCase/{testCaseIssueKey}/linkedRequirements
STATUS 200 Returned if the linked Requirements are successfully retrieved from the Test Case
Example
[ { "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 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
Example
{ "requirementKeys":["FRS-2","FRS-5"] }
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
返回关联到一个需求的所有测试用例
GET /rest/synapse/latest/public/requirement/{requirementIssueKey}/linkedTestCases
STATUS 200 Returned if the linked Test Cases are successfully retrieved from the Requirement
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 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
Example
{ "testCaseKeys":["FRS-16","FRS-17"] }
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