How to create a Test Cycle with Test Cases and execute them

  1. Test Cases are standard Jira Issues, but with the QAlity issue type.

  2. Test Cycles are QAlity-specific data models. They are created using a call to the QAlity backend.

    // POST /testCycles // body { name: String // name of the test cycle projectId: String // project id that the test cycle should belong to versionId: String // version of the test cycle, OPTIONAL - can be ommited dueDate: String // due date of the test cycle, OPTIONAL- can be ommited comment: String // description of the test cycle, OPTIONAL - can be ommited } // response TestCycle = { id: Long name: String versionId: String dueDate: LocalDate projected: String comment: String createdDate: ZonedDateTime closed: Boolean testCases: TestCaseInCycle }
  3. Having the Test Cases and Test Cycle, Test Cases can be added to the Test Cycle.

    // POST /testCasesInCycle // body TestCaseInCycle = { testCases: Array<Long>, // list of Jira issue IDs that you want to add to the cycle testCycleId: Long // ID of the test cycle } // response Array<TestCaseInCycle>
  4. Then the executions can be created based on Test Cases in the Test Cycle.

    // POST /testExecution // body { name: String, status: Status, // one of: Status testCaseId: Long, testSteps: [], // should be an empty array: [] testCaseInCycleId: Long, // OPTIONAL - can be ommited, retrieve this id from test cycle. Check POST Add Test Case To Cycle } // response TestExecution = { id: Long name: String executionAssignee: String // assignee user ID status: String // one of predefined statuses testCaseId: Long testCaseInCycleId Long comment: String testSteps: Array<TestExecutionStep> } // models Status = 'passed' | 'failed' | 'in_progress' | 'blocked' | 'unexecuted' TestExecutionStep = { attachments: Array<Attachemnt> comment: String id: Long linkedIssues: Array<{linkedIssueId: Long}> status: Status testCaseStepId: Long }
  5. To make any updates in execution, PUT request should be made.