allure_list_test_cases
List test cases from an Allure project, optionally filtered by automation status and owner username. Returns id, name, automated, status, layer, and tags (tags provided when owner is set).
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 |