QTM4J: Start New Execution
qtm4j_start_new_executionLaunch a new test case execution within a test cycle, assigning environment, build, planned date, assignee, or cloning an existing execution.
Instructions
Start a new test case execution within a test cycle. Looks up the internal map ID from testCycleKey and testCaseKey; resolves environmentId and buildId names to numeric IDs.
Toolset: Test Executions
Parameters:
testCycleKey (string) required: Test cycle key in the format '{PROJECT_KEY}-TR-{number}', e.g. 'SCRUM-TR-101'. Used directly as the API path parameter.
testCaseKey (string) required: Test case key in the format '{PROJECT_KEY}-TC-{number}', e.g. 'SCRUM-TC-145'.
assignee (string): Jira account ID of the user to assign this execution to (e.g. '5e4a642c1c9d440008f2a2b4'). This is the account ID, not a display name.
executionPlannedDate (string): Planned execution date. Format: 'dd/MMM/yyyy' e.g. '15/Oct/2025'. Month must be capitalised (Oct, not oct or OCT).
environmentId (string): Environment name (e.g. 'Production', 'Staging', 'Google Chrome', 'Firefox'). Auto-resolved to its numeric ID; an unresolved name is dropped and a warning is returned.
buildId (string): Build name (e.g. 'Build 2.0', '1.0.0'). Auto-resolved to its numeric ID; an unresolved name is dropped and a warning is returned.
actualTime (string): Time already spent on the execution. Format: 'HH:mm:ss' e.g. '02:30:00' (2 hours 30 minutes 0 seconds).
cloneFrom (number): Source testCaseExecutionId to clone. When set, the new execution copies the source's execution and all other body fields are ignored by the server.
cloneExecutionCustomFields (boolean): When true, custom field values from the previous execution of this test case are copied into the new execution.
Output Description: Confirmation object with testCycleKey, testCaseKey, and created: true (set when server returns 204).
Use Cases: 1. Start a fresh execution for a test case in a test cycle 2. Clone an existing execution
Examples:
Start an execution for a test case (minimal)
{
"testCycleKey": "PROJ-TR-101",
"testCaseKey": "PROJ-TC-42"
}Expected Output: { testCycleKey: 'PROJ-TR-101', testCaseKey: 'PROJ-TC-42', created: true }
Start execution with environment, build and planned date
{
"testCycleKey": "PROJ-TR-101",
"testCaseKey": "PROJ-TC-42",
"environmentId": "Production",
"buildId": "Build 2.0",
"executionPlannedDate": "15/Oct/2025",
"assignee": "5e4a642c1c9d440008f2a2b4"
}Expected Output: { testCycleKey: 'PROJ-TR-101', testCaseKey: 'PROJ-TC-42', created: true }
Clone an existing execution
{
"testCycleKey": "PROJ-TR-101",
"testCaseKey": "PROJ-TC-42",
"cloneFrom": 725981
}Expected Output: { testCycleKey: 'PROJ-TR-101', testCaseKey: 'PROJ-TC-42', created: true }
Start a fresh execution and carry over custom field values from the previous execution
{
"testCycleKey": "PROJ-TR-101",
"testCaseKey": "PROJ-TC-42",
"cloneExecutionCustomFields": true
}Expected Output: { testCycleKey: 'PROJ-TR-101', testCaseKey: 'PROJ-TC-42', created: true }
Hints: 1. Call set_project_context before this tool. 2. executionPlannedDate must be in 'dd/MMM/yyyy' format (e.g. '15/Oct/2025', month 3-letter capitalised). Normalize from any user-provided format before calling. 3. When cloneFrom is non-zero, the server ignores all body fields. 4. assignee must be a Jira account ID (e.g. '5e4a642c1c9d440008f2a2b4'), not a display name. 5. environmentId and buildId accept name as strings that are resolved to numeric IDs; unresolved names are dropped and a warning is returned. 6. actualTime must be in 'HH:mm:ss' format (e.g. '02:30:00'). Always include seconds.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| buildId | No | Build name (e.g. 'Build 2.0', '1.0.0'). Auto-resolved to its numeric ID; an unresolved name is dropped and a warning is returned. | |
| assignee | No | Jira account ID of the user to assign this execution to (e.g. '5e4a642c1c9d440008f2a2b4'). This is the account ID, not a display name. | |
| cloneFrom | No | Source testCaseExecutionId to clone. When set, the new execution copies the source's execution and all other body fields are ignored by the server. | |
| actualTime | No | Time already spent on the execution. Format: 'HH:mm:ss' e.g. '02:30:00' (2 hours 30 minutes 0 seconds). | |
| testCaseKey | Yes | Test case key in the format '{PROJECT_KEY}-TC-{number}', e.g. 'SCRUM-TC-145'. | |
| testCycleKey | Yes | Test cycle key in the format '{PROJECT_KEY}-TR-{number}', e.g. 'SCRUM-TR-101'. Used directly as the API path parameter. | |
| environmentId | No | Environment name (e.g. 'Production', 'Staging', 'Google Chrome', 'Firefox'). Auto-resolved to its numeric ID; an unresolved name is dropped and a warning is returned. | |
| executionPlannedDate | No | Planned execution date. Format: 'dd/MMM/yyyy' e.g. '15/Oct/2025'. Month must be capitalised (Oct, not oct or OCT). | |
| cloneExecutionCustomFields | No | When true, custom field values from the previous execution of this test case are copied into the new execution. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| created | Yes | True when the server returned 204 No Content, confirming the execution was created successfully. | |
| testCaseKey | Yes | Test case key of the created execution (e.g. 'SCRUM-TC-145'). | |
| testCycleKey | Yes | Key of the test cycle in which the execution was created (e.g. 'SCRUM-TR-101'). |