list_test_cases
List test cases in a project with filtering by folder, status, priority, tags, or search, plus pagination and automation status.
Instructions
List test cases in a project with filtering and pagination. Can filter by folder, status, priority, tags, or a search query. The cases come back in an array called cases, the available status and priority values under meta, and the row count under pagination.total; there is no top-level total. Every row also carries createdAt and updatedAt, and updatedAt tracks edits to the case DEFINITION only: recording a manual result, or an automated test running against the case, does not move it, so updatedAt equal to createdAt means never edited rather than never used. There is no lastExecutedAt on a row - for when a case was last actually run, use get_case_execution_history for manual results or get_test_case with includeRecentExecutions for automated ones. Every case row also carries hasLinkedAutotests and linkedAutotestCount, which is the cheapest way to answer whether a case is automated - they count links made with link_autotest_to_case, the same narrow definition the automationStatus filter uses and the same one behind get_coverage_gaps summary and automationRate. Only the unlinkedAutotests section of that tool additionally treats a [TC-N] title marker as coverage. meta.availablePriorities can contain the entry custom, which is a marker rather than a priority a case can hold. Each case includes a shareUrl for sharing in Slack, Jira and the like. To resolve a user-facing TC-30 (a displayId) to its internal numeric id, pass search: "TC-30", since search matches the case number and accepts the TC- prefix, then read the matching case id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by tags (any matching tag) | |
| limit | No | Number of cases to return | |
| offset | No | Pagination offset | |
| search | No | Search in case title, description, or case number | |
| status | No | Filter by case status (e.g., Draft, Ready, Approved). Values are project-specific. | |
| folderId | No | Filter to cases held DIRECTLY by this folder UUID. It does NOT recurse, so a container folder answers with 0 however many cases sit nested beneath it, and that zero looks exactly like an empty folder. For a subtree count call get_folder with includeStats and read statistics.totalCases; to list the cases, walk the tree with list_folders and ask for each suite. Omit to list every case in the project. | |
| priority | No | Filter by priority (e.g., Low, Medium, High, Critical). Values are project-specific. | |
| projectId | Yes | Project UUID to list cases from | |
| includeDeleted | No | Include archived/deleted cases | |
| automationStatus | No | Filter by automation status: "automated" (has linked autotests) or "not_automated" (no linked autotests) |