Info | ||
---|---|---|
| ||
Please look at Sample projects and Code snippets sections for a more concrete end-to-end example. |
...
Method : POST
REQUEST HEADER :
Content-Type : application/json
{generated-api-key}
Notes
- zip file must contain files of the same format given in the 'format' param.
- Request must contain json raw body payload, form-data is not supported.
...
Parameter | Type | Required | Description | Default |
---|---|---|---|---|
format | string | Yes | Format of result file to be imported. Supported formats:
| NA |
testCycleToReuse | string | No | Issue Key of the test cycle to be reused | NA |
environment | string | No | Name of the environment on which the test cycle has to be executed | No Environment |
build | string | No | Name of the build for test case execution | Blank |
isZip | boolean | No (Yes for QAF) | Pass true for ZIP upload or pass false for single file upload | false |
attachFile | boolean | No | Pass true to upload attachments in execution. For more details, Refer to automation help documents. This parameter is supported only for
| false |
fields | JSON | No | Provide additional fields to be added on the test case or test cycle level. Refer to the following table for more. Note : If the cycle is reused, fields of the test cycle will be ignored. | Blank |
matchTestSteps | boolean | No |
When the Test Cycle is not been Reused → Create/Reuse a test case with a summary or test case key that exactly matches the automated test case uploaded through the result file, and exclude matching of test steps. The execution results of the test case will be imported or calculated based on the test case/step results from the automation result file. The execution result of the test case will be propagated to the test steps in the case of test case reuse/creation. Individual test case steps will not be matched and their execution results/details will not be picked from the result file. When the Test Cycle is been Reused → When the Test Case Key is mapped in the result file and the Test Case Key is found linked to the Test Cycle. In a project where propagation is off, the status of the step will not be mapped/changed. The existing linked test case version, which is part of the Test Cycle will be used. If multiple versions of the same test case key are linked to the test cycle, the one which traced first will be used. The test steps will not be matched to create a new version or link a different version. → When the Test Case Key is mapped in the result file and the Test Case Key is not linked to the Test Cycle and the Test Case Key exists in the Test Case Library. The existing latest version of the test case that matches based on the test case summary will be linked to the existing Test Cycle. If there are multiple test cases with the same summary exist, the one that is traced first will be linked to the existing Test Cycle. The test steps will not be matched to create a new version or link a different version. → When the Test Case Key is mapped in the result file and the Test Case Key is not found linked to the Test Cycle and the Test Case Key is not found in the Test Case Library, and the Test Case Summary matches with any existing test cases linked to the Test Cycle. The existing linked Test Case version which is part of the Test Cycle will be used. The test steps will not be matched to create a new version. → The Test Case Key is not mentioned in the result file and the Test Case Summary matches any existing test case that is already linked to the Test Cycle. The existing linked Test Case version which is part of the Test Cycle will be used based on the summary. The test steps will not be matched to create a new version. → When the Test Case Key is mapped in the result file and the Test Case Key does not exist in the Test Cycle OR is Not found in Library and the Test Case Summary also does not match any existing Test case in the Test Cycle andTest Case with the same summary isfound in the Test Case Library. The existing latest version of the test case that matches based on the test case summary will be linked to the existing Test Cycle. If there are multiple test cases with the same summary exist, the one that is traced first will be linked to the existing Test Cycle. The test steps will not be matched to create a new version or link a different version. → When the Test Case Key is mapped in the result file and the Test Case Key does not exist in the Test Cycle OR is Not found in the Library and the Test Case Summary also does not match any existing Test case in the Test Cycle OR is not found in the Test Case Library. A new test case without steps will be created and will be linked to the Test Cycle being reused. The execution results of the test case will be imported or calculated based on the test case/step results from the automation result file. The execution result of the test case will be propagated to the test steps in the case of test case reuse/creation. Individual test case steps will not be matched and their execution results/details will not be picked from the result file. In a project where propagation is off, the status of the step will not be mapped or changed. | |
appendTestName | boolean | No |
TestNG
JUnit
| As per Settings |
automationHierarchy | number | No |
Set Hierarchy for Automation Uploads “Test Cycle - Test Case - Test Step Hierarchy” as 1 (Default), 2 or 3 For TestNG
For JUnit
| As per Settings |
...
Supported Fields | Type | Test Cycle | Test Case | Default | Comment |
---|---|---|---|---|---|
labels | array | Yes | Yes | null | |
components | array | Yes | Yes | null | |
status | string | Yes | Yes | TO DO | |
priority | string | Yes | Yes | Medium | |
fixVersionId | number | Yes | Yes | null | |
folderId | number | Yes | Yes | null | Organize automated test cases and test cycles in a folder when uploading automation results.
If the mentioned folderId does not exist, an error will be shown. The test cases/test cycles will not be created. |
sprintId | number | Yes | Yes | null | |
summary | string | Yes | No | Automated Test Cycle | |
description | string | Yes | Yes | null | |
precondition | string | No | Yes | null | |
assignee | string | Yes | Yes | Account Id of current User | Valid User Account Id |
reporter | string | Yes | Yes | Account Id of current User | Valid User Account Id |
estimatedTime | string | No | Yes | null | Pass time in ‘HH:MM:mm’ SS’ format |
plannedStartDate | string | Yes | No | null | Pass date in 'dd/MMM/yyyy HH:mm' format |
plannedEndDate | string | Yes | No | null | Pass date in 'dd/MMM/yyyy HH:mm' format |
customFields | array | Yes | Yes | null |
|
...
Code Block |
---|
{ "format": "cucumber", "testCycleToReuse": "", "attachFile": true, "isZip": false, "environment": "", "build": "", "matchTestSteps": true, "fields": { "testCycle": { "labels": [ "label1", "label2" ], "components": [ "component1" ], "priority": "High", "status": "To Do", "sprintId":10000, "fixVersionId":10000, "folderId": 1000, "summary": "Test Cycle Summary Automation", "description": "Test Cycle Automation Description", "assignee": "557058:b50b7a9b-8826-4769-97c8-3338b8ba7f22", "reporter": "557058:416340c9-0308-4f49-a538-c9f5b164242d", "plannedStartDate": "15/May/2020 00:00", "plannedEndDate": "30/May/2020 00:00", "customFields": [{ "name": "Multi Check Box", "value": "MCB 1,MCB 2" }, { "name": "Date Type", "value": "29/May/2020" }, { "name": "Date time", "value": "29/May/2020 14:55" }, { "name": "Multi DropDown", "value": "MDD 2,MDD 1" }, { "name": "Multi line text field", "value": "QMetry Automation Testing using cucumber framework " }, { "name": "Number field", "value": 1234567890 }, { "name": "Single DropDown", "value": "DD2" }, { "name": "Single line field", "value": "QMetry Automation Testing using cucumber framework" }, { "name": "Single Radio Button", "value": "Test C" } ] }, "testCase": { "labels": [ "label1", "label2" ], "components": [ "component1" ], "priority": "High", "status": "To Do", "sprintId":10000, "fixVersionId":10000, "folderId": 1000, "description": "Automated generated Test Case", "precondition": "Precondition of Test Case", "assignee": "557058:b50b7a9b-8826-4769-97c8-3338b8ba7f22", "reporter": "557058:416340c9-0308-4f49-a538-c9f5b164242d", "estimatedTime": "10:10:10", "customFields": [{ "name": "TC Multi DropDown", "value": "Automation 1,Automation 2" }, { "name": "QA User RadioButton", "value": "Sample user 2" } ] } "testCaseExecution":{ "comment": "Test Case Execution Comment", "actualTime": "10:10:10", "executionPlannedDate": "16/Feb/2024", "assignee": "{Valid User Account Key}" "customFields": [ { "name": "custom field 1", "value": "high,medium,low" }, { "name": "custom field 2", "value": 10.12 } ] } } } |
...
Responses
Response | Description | ||||||
---|---|---|---|---|---|---|---|
STATUS 200 | Returned if the results file is uploaded successfully. The import process might take a while and you will be notified (by email or checking the status of the created test run) once the process is completed. Example
| ||||||
| Returned if import fails If unsupported framework is sent in request
If zip file is not sent in QAF framework request
If one or more fields have invalid value
|
...
Responses
Response | Description | ||||
---|---|---|---|---|---|
STATUS 200 | Returned if file is uploaded successfully. | ||||
STATUS 403 | Returned if file upload happens after URL expiration time or if Content-type=multipart/form-data header is not passed Example URL Expiry
Signature Mismatch
|
...
This API is used to check the progress of automation result import.
GET
application/json
apiKey : Get API Key
Responses
Response | Description | ||
---|---|---|---|
SUCCESS | Returned if parameters are validated successfully. Example
| ||
FAILED | Returned if any validation fails Example
|
...