QTM4J: Update Test Cycle
qtm4j_update_test_cycleUpdate a test cycle by its key, modifying fields like summary, status, dates, assignee, and managing labels or components with add/delete operations.
Instructions
Update an existing test cycle in QTM4J by its human-readable key (e.g. 'SCRUM-TR-101'). Supports auto-resolving human-readable names for status and priority. Labels and components support add/delete operations. Only the fields you provide are changed — omitted fields are left as-is. projectId is injected automatically from the active project context.
Toolset: Test Cycles
Parameters:
key (string) required: Test cycle key in the format '{PROJECT_KEY}-TR-{number}', e.g. 'SCRUM-TR-101'. Used directly as the API path parameter.
summary (string): Updated test cycle name / title. Max 255 characters.
description (string): Updated description. Pass null to clear the existing value. Max 65 535 characters.
status (string): Status name (e.g., 'To Do', 'In Progress', 'Done'). Auto-resolved to ID. Use values from set_project_context response. Pass null to clear.
priority (string): Priority name (e.g., 'High', 'Medium', 'Low'). Auto-resolved to ID. Use values from set_project_context response. Pass null to clear.
plannedStartDate (string): Format: 'dd/MMM/yyyy HH:mm' e.g. '15/May/2026 09:00'. Month must be capitalised (May not may). Pass null to clear the existing value.
plannedEndDate (string): Format: 'dd/MMM/yyyy HH:mm' e.g. '15/May/2026 09:00'. Month must be capitalised (May not may). Pass null to clear the existing value.
assignee (string): Assignee Jira account ID (e.g., '5b10a2844c20165700ede21f'). Pass null to unassign.
reporter (string): Reporter Jira account ID (e.g., '5b10a2844c20165700ede21f'). Pass null to clear.
labels (object): Labels to add or remove by name. Each name is auto-resolved to its ID.
components (object): Components to add or remove by name. Each name is auto-resolved to its ID.
Output Description: Confirmation object with the test cycle key and updated: true. Warnings are included if any field names could not be resolved.
Use Cases: 1. Update summary, status, priority, planned dates, assignee, or reporter 2. Clear a nullable field by passing null (e.g. description: null removes text, assignee: null unassigns owner) 3. Add or remove labels and components atomically without affecting other entries 4. Apply multiple field updates in a single call
Examples:
Rename a test cycle
{
"key": "SCRUM-TR-101",
"summary": "Regression Cycle - Sprint 12 Updated"
}Expected Output: Test cycle updated with new summary
Change status and update planned dates
{
"key": "SCRUM-TR-101",
"status": "In Progress",
"plannedStartDate": "01/May/2026 09:00",
"plannedEndDate": "31/May/2026 18:00"
}Expected Output: Test cycle status and planned dates updated
Add a label and remove an old one
{
"key": "SCRUM-TR-101",
"labels": {
"add": [
"Regression",
"Smoke"
],
"delete": [
"Sprint1"
]
}
}Expected Output: Test cycle updated — Regression and Smoke labels added, Sprint1 removed
Clear the description text
{
"key": "SCRUM-TR-101",
"description": null
}Expected Output: Test cycle description cleared
Unassign the owner and clear planned dates
{
"key": "SCRUM-TR-101",
"assignee": null,
"plannedStartDate": null,
"plannedEndDate": null
}Expected Output: Test cycle owner unassigned and planned dates cleared
Full update with all fields
{
"key": "SCRUM-TR-101",
"summary": "Final Regression Cycle",
"description": "Updated for sprint 12.",
"status": "In Progress",
"priority": "High",
"plannedStartDate": "15/May/2026 09:00",
"plannedEndDate": "30/May/2026 18:00",
"assignee": "5b10a2844c20165700ede21f",
"labels": {
"add": [
"Regression"
],
"delete": [
"Sprint1"
]
},
"components": {
"add": [
"Backend"
],
"delete": [
"Frontend"
]
}
}Expected Output: Test cycle updated with all specified fields
Hints: 1. PREREQUISITE: set_project_context must be called before this tool. NEVER auto-select a project. 2. KEY FORMAT: '{PROJECT_KEY}-TR-{number}' — e.g. 'SCRUM-TR-101'. 3. Pass explicit null to CLEAR a nullable field — e.g. description: null removes the description text, assignee: null unassigns the owner, plannedStartDate: null removes the date. Omitting a field leaves it unchanged. 4. Status and priority are auto-resolved from human-readable names loaded by set_project_context. If a name cannot be resolved, the cycle is still updated and a warning is returned. 5. Labels and components use add/delete — names are auto-resolved to IDs. Both operations can be combined in a single call. 6. Date format: 'dd/MMM/yyyy HH:mm' e.g. '15/May/2026 09:00'. Month must be capitalised (May not may or MAY). 7. Archived test cycles cannot be updated — the server returns 400. Unarchive first if needed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Test cycle key in the format '{PROJECT_KEY}-TR-{number}', e.g. 'SCRUM-TR-101'. Used directly as the API path parameter. | |
| labels | No | Labels to add or remove by name. Each name is auto-resolved to its ID. | |
| status | No | Status name (e.g., 'To Do', 'In Progress', 'Done'). Auto-resolved to ID. Use values from set_project_context response. Pass null to clear. | |
| summary | No | Updated test cycle name / title. Max 255 characters. | |
| assignee | No | Assignee Jira account ID (e.g., '5b10a2844c20165700ede21f'). Pass null to unassign. | |
| priority | No | Priority name (e.g., 'High', 'Medium', 'Low'). Auto-resolved to ID. Use values from set_project_context response. Pass null to clear. | |
| reporter | No | Reporter Jira account ID (e.g., '5b10a2844c20165700ede21f'). Pass null to clear. | |
| components | No | Components to add or remove by name. Each name is auto-resolved to its ID. | |
| description | No | Updated description. Pass null to clear the existing value. Max 65 535 characters. | |
| plannedEndDate | No | Format: 'dd/MMM/yyyy HH:mm' e.g. '15/May/2026 09:00'. Month must be capitalised (May not may). Pass null to clear the existing value. | |
| plannedStartDate | No | Format: 'dd/MMM/yyyy HH:mm' e.g. '15/May/2026 09:00'. Month must be capitalised (May not may). Pass null to clear the existing value. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Human-readable key of the updated test cycle | |
| updated | Yes | Confirms the update was applied |