allure_list_test_cases
Lists test cases in an Allure project with optional filters for automation status and owner. Returns IDs, names, automation status, and more.
Instructions
List test cases for a project with optional automation and ownership filters.
Each TC carries id, name, automated, status, layer
(e.g. UNIT, API, E2E), the createdBy / lastModifiedBy
audit usernames, and a flat list of tag names. Caveat: the audit
fields and tags are only populated when owner is set, because
Allure's plain /testcase endpoint returns a compact projection
that omits them — the owner path uses __search which returns
the full projection.
Args:
project_id: Allure project ID.
ctx: MCP Context (auto-injected by FastMCP for progress reporting).
automated: True — only automated, False — only manual,
None — both.
owner: Optional Allure username. When set, the response is narrowed
to TCs where createdBy = owner OR lastModifiedBy = owner
(case-sensitive, exact match), enforced server-side via
Allure's RQL __search endpoint. The username must match
[A-Za-z0-9._@-]+ — anything else is rejected at the MCP
input layer (Pydantic pattern) to prevent RQL injection.
**Why "creator/modifier" and not "owner".** Allure TestOps does
not expose a separate ``owner`` field in RQL on most
deployments — the closest stable proxy for "TCs I touched" is
the union of ``createdBy`` and ``lastModifiedBy``.
**Trade-off when ``owner`` is set.** ``__search`` does not
accept the ``automated`` query parameter, so an ``automated``
filter combined with ``owner`` is applied **client-side after
the page is fetched**. ``pagination`` then reflects the raw
owner-filtered set, not the further automation-filtered view —
a fetched page of 50 may shrink. Raise ``size`` (max 200) or
iterate ``page`` for full coverage.
page: 0-based page index.
size: Items per page (1-200; default 50).Returns:
dict with keys:
- project_id (int)
- count (int): items in this response (post any client-side automated filter)
- pagination (dict): raw Allure paging
- test_cases (list): each item carries id / name /
automated / status / layer / created_by /
last_modified_by / tags
Examples:
- "How many manual TCs does project 63 have?" -> project_id=63, automated=False, read pagination.total
- "First 200 automated TCs" -> automated=True, size=200
- "My manual TCs in project 63" -> project_id=63, automated=False, owner="jdoe", size=200
Don't use when:
- You need just the automation % (``allure_get_project_statistics``).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Allure project ID. | |
| automated | No | True: only automated. False: only manual. None: both. | |
| owner | No | Allure username — narrows the result to TCs where the user is the creator OR the last modifier. Applied server-side via Allure RQL (see docstring). | |
| page | No | 0-based page. | |
| size | No | Items per page (1-200). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| count | Yes | ||
| pagination | Yes | ||
| test_cases | Yes |