create_test_cycle
Create a new test cycle in QMetry by providing project ID and summary. Optionally assign folder, dates, assignee, priority, status, and custom fields. Retrieves the cycle's key and internal ID.
Instructions
Create a new test cycle in QMetry. Returns the created cycle with its internal id and key (e.g. FS-TR-123). Use list_folders with folderType=TESTCYCLE to find valid folderId values.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Jira project numeric ID (e.g. 10011) | |
| summary | Yes | Test cycle name/summary | |
| description | No | ||
| priority | No | ||
| status | No | ||
| assignee | No | Assignee Jira account ID | |
| folderId | No | Target folder ID | |
| plannedStartDate | No | ISO 8601 planned start date | |
| plannedEndDate | No | ISO 8601 planned end date | |
| customFields | No |
Implementation Reference
- src/index.ts:348-365 (handler)Tool handler for create_test_cycle. Calls qtmFetch POST to /testcycles with the input object (projectId, summary, description, priority, status, assignee, folderId, plannedStartDate, plannedEndDate, customFields). Returns the created cycle with id and key via ok().
tool( "create_test_cycle", "Create a new test cycle in QMetry. Returns the created cycle with its internal id and key (e.g. FS-TR-123). Use list_folders with folderType=TESTCYCLE to find valid folderId values.", { projectId: z.union([z.string(), z.number()]).describe("Jira project numeric ID (e.g. 10011)"), summary: z.string().describe("Test cycle name/summary"), description: z.string().optional(), priority: z.string().optional(), status: z.string().optional(), assignee: z.string().optional().describe("Assignee Jira account ID"), folderId: z.number().int().optional().describe("Target folder ID"), plannedStartDate: z.string().optional().describe("ISO 8601 planned start date"), plannedEndDate: z.string().optional().describe("ISO 8601 planned end date"), customFields: z.array(CustomField).optional(), }, async (input) => ok(await qtmFetch("/testcycles", { method: "POST", body: JSON.stringify(input) })) ); - src/index.ts:351-362 (schema)Input schema for create_test_cycle: projectId (string|number), summary (string), and optional description, priority, status, assignee, folderId, plannedStartDate, plannedEndDate, customFields.
{ projectId: z.union([z.string(), z.number()]).describe("Jira project numeric ID (e.g. 10011)"), summary: z.string().describe("Test cycle name/summary"), description: z.string().optional(), priority: z.string().optional(), status: z.string().optional(), assignee: z.string().optional().describe("Assignee Jira account ID"), folderId: z.number().int().optional().describe("Target folder ID"), plannedStartDate: z.string().optional().describe("ISO 8601 planned start date"), plannedEndDate: z.string().optional().describe("ISO 8601 planned end date"), customFields: z.array(CustomField).optional(), }, - src/index.ts:348-365 (registration)Registration via the custom 'tool' wrapper which calls server.registerTool (defined at line 172).
tool( "create_test_cycle", "Create a new test cycle in QMetry. Returns the created cycle with its internal id and key (e.g. FS-TR-123). Use list_folders with folderType=TESTCYCLE to find valid folderId values.", { projectId: z.union([z.string(), z.number()]).describe("Jira project numeric ID (e.g. 10011)"), summary: z.string().describe("Test cycle name/summary"), description: z.string().optional(), priority: z.string().optional(), status: z.string().optional(), assignee: z.string().optional().describe("Assignee Jira account ID"), folderId: z.number().int().optional().describe("Target folder ID"), plannedStartDate: z.string().optional().describe("ISO 8601 planned start date"), plannedEndDate: z.string().optional().describe("ISO 8601 planned end date"), customFields: z.array(CustomField).optional(), }, async (input) => ok(await qtmFetch("/testcycles", { method: "POST", body: JSON.stringify(input) })) );