| list_cyclesA | List test cycles for a project and version. project accepts a Jira project key (e.g. SONY), a project name, or a
numeric projectId. version accepts a version name, a numeric versionId,
or -1/Unscheduled. Prefer the numeric ids when you have them, to skip a
lookup. Returns a map keyed by versionId; each cycle entry
is keyed by cycleId (the Ad hoc cycle is -1).
|
| get_cycleA | Get a single test cycle's details by its numeric id. Passing -1 returns the hardcoded Ad hoc cycle. |
| create_cycleA | Create a new test cycle. Dates use Jira's dd/MMM/yy format (e.g. 4/Dec/12). project/version
accept keys/names or ids (prefer ids when you have them, to skip a lookup).
The new cycle is created in version — pass it explicitly (use -1
only if you really want the Unscheduled version). Returns
{id, responseMessage}. |
| update_cycleA | Update an existing test cycle's fields. The cycle id is sent in the body (PUT /cycle, no id in the path) —
only the fields you pass are included; omit a field to leave it unchanged.
Dates use Jira's dd/MMM/yy format (e.g. 8/Aug/14). To change the
version pass version (a name or id); a version name also needs
project to resolve it (a numeric version needs neither). Returns
{error, success, noPermission}. |
| delete_cycleA | Delete a test cycle by id (asynchronous; returns/polls a job token). Set is_folder_cycle_delete=True only when deleting a cycle that lives
inside a folder. This is an asynchronous ZAPI operation: it returns a
jobProgressToken. With wait=True (default) the tool polls the job to
completion and returns the final job-progress payload; with wait=False
it returns the raw {jobProgressToken} so you can poll later with
get_job_progress (type cycle_delete_job_progress). |
| export_cycleA | Get a download link for a cycle's executions as a CSV export. project/version accept keys/names or ids (prefer ids when you have them,
to skip a lookup; -1 = Unscheduled). Pass folder_id to export a
single folder within the cycle (omit for the whole cycle). Returns
{url: "…/Cycle-RC1.csv"} — a download link, not the file bytes; hand
the URL to the user or fetch it separately.
|
| move_executions_to_folderA | Move executions from a cycle into an internal folder. Moves all executions in the cycle when schedules is omitted, or only
the listed execution ids when schedules is provided. project/version
accept keys/names or ids (prefer ids when you have them, to skip a lookup;
-1 = Unscheduled). This is an asynchronous ZAPI operation: it returns a
jobProgressToken. With wait=True (default) the tool polls the job to
completion and returns the final job-progress payload; with wait=False it
returns the raw {jobProgressToken} so you can poll later with
get_job_progress. |
| copy_executions_to_cycleA | Copy executions into cycle cycle_id, preserving their original status and defect links. Unlike add_tests_to_cycle_from_cycle, this tool carries over the execution
status (PASS, FAIL, etc.) and defect associations from the source executions.
Set clear_status_flag=True to reset statuses to UNEXECUTED, or
clear_defect_mapping_flag=True to drop defect links on copy. If you want
fresh UNEXECUTED executions without any prior results, prefer
add_tests_to_cycle_from_cycle instead.
project/version accept keys/names or ids (prefer ids to skip a lookup;
-1 = Unscheduled). Async: with wait=True (default) polls to completion
and returns the final job payload; with wait=False returns {jobProgressToken}. |
| list_cycle_foldersA | List the folders within a cycle. project/version accept keys/names or ids (prefer ids when you have
them, to skip a lookup; -1 = Unscheduled). Returns a list of folders,
each with ID, folderName, folderDescription, and execution summaries.
|
| create_folderA | Create a folder under a cycle. project/version accept keys/names or ids (prefer ids when you have
them, to skip a lookup; -1 = Unscheduled). Returns {id, responseMessage}.
|
| update_folderA | Update a folder's name and/or description. The API requires the folder's full context, so cycle_id and
project/version (which accept keys/names or ids — prefer ids when you
have them, to skip a lookup; -1 = Unscheduled) must be supplied alongside
folder_id, the
numeric ID from list_cycle_folders.
Only the optional fields you pass are sent; omit one to leave it
unchanged. Returns {id, responseMessage}. |
| delete_folderA | Delete a folder from a cycle (asynchronous; returns/polls a job token). folder_id is the numeric ID from list_cycle_folders; cycle_id is
its parent cycle. project/version accept keys/names or ids (prefer ids
when you have them, to skip a lookup; -1 = Unscheduled). With
wait=True (default) the tool polls the job to completion and returns the
final job-progress payload; with wait=False it returns the raw
{jobProgressToken} to poll later with get_job_progress.
|
| list_executionsA | List the executions in a cycle (optionally narrowed to a folder). project/version accept keys/names or ids (prefer ids when you have them,
to skip a lookup; -1 = Unscheduled). Returns {status, executions, recordsCount} where status maps status ids to their definitions.
|
| update_executionA | Set an execution's status by its numeric id. status is a ZAPI execution-status code:
-1=UNEXECUTED, 1=PASS, 2=FAIL, 3=WIP, 4=BLOCKED, 5=PENDING,
6=APPROVED, 7=CANCELLED. Returns the updated execution.
|
| search_executionsC | Run a ZQL query and return matching executions. Example ZQL: project = "SONY" AND executionStatus = FAIL. Returns
{executions, totalCount, ...}. |
| get_execution_status_countsA | Status-count rollup for a project/version (PASS/FAIL/WIP/BLOCKED/UNEXECUTED). With cycles set (comma-separated cycle ids, e.g. "51,52") returns the
status breakdown for those cycles. Without cycles, returns a per-cycle
breakdown for every cycle in the version. project/version accept
keys/names or ids (prefer ids when you have them, to skip a lookup; -1 =
Unscheduled). Useful for release Go/No-Go and compliance summaries. |
| get_execution_status_counts_by_assigneeB | Per-assignee status counts for the given cycle(s). cycles is a comma-separated list of cycle ids. project/version accept
keys/names or ids (prefer ids when you have them, to skip a lookup; -1 =
Unscheduled). Returns a map of assignee -> {UNEXECUTED, PASS, FAIL, WIP,
BLOCKED}. Use to spot
workload imbalance or reviewers/testers who are a bottleneck.
|
| list_executions_by_issueB | List all executions of a single test issue, across every cycle. issue accepts a Jira issue key (e.g. SONY-1386) or numeric id — passed
straight through (the endpoint accepts either). Returns the test's full
execution history, useful for flaky-test diagnosis and coverage checks.
|
| list_execution_defectsB | List Jira defects currently linked to an execution. execution_id is the numeric id from list_executions/search_executions.
Returns a map keyed by execution id -> {defectKey -> defect summary}.
|
| create_executionA | Schedule a test (create an execution) in a cycle. issue is the Zephyr test issue (key or id; prefer the id when you have it).
cycle_id is the target cycle (-1 = Ad hoc). project/version accept
keys/names or ids (prefer ids when you have them, to skip a lookup; -1 =
Unscheduled). Optionally set
folder_id and assignee. Returns a map keyed by the new execution id.
|
| add_tests_to_cycle_from_listA | Add an explicit list of tests to a cycle as new UNEXECUTED executions. issues is a list of Zephyr Test issue keys/ids (e.g. ["PROJ-1", "PROJ-2"]);
a comma-separated string is also accepted and split automatically.
project/version accept keys/names or ids (prefer ids to skip a lookup;
-1 = Unscheduled). Async: with wait=True (default) polls to completion
and returns the final job payload; with wait=False returns {jobProgressToken}.
New executions always start with status UNEXECUTED. To carry over existing
execution statuses and defect links from another cycle, use
copy_executions_to_cycle instead.
|
| add_tests_to_cycle_from_filterB | Add tests matching a saved ZQL filter to a cycle as new UNEXECUTED executions. search_id is the numeric id of a saved ZQL filter.
project/version accept keys/names or ids (prefer ids to skip a lookup;
-1 = Unscheduled). Async: with wait=True (default) polls to completion
and returns the final job payload; with wait=False returns {jobProgressToken}.
New executions always start with status UNEXECUTED.
|
| add_tests_to_cycle_from_cycleA | Add tests from another cycle as new UNEXECUTED executions in this cycle. Tests are sourced from from_cycle_id / from_version_id and can be narrowed
by components, labels, priorities, statuses (comma-separated filter
strings) and has_defects (bool). project/version accept keys/names or ids
(prefer ids to skip a lookup; -1 = Unscheduled). Async: with wait=True
(default) polls to completion and returns the final job payload; with wait=False
returns {jobProgressToken}. Important: new executions always start with status UNEXECUTED regardless of
the source cycle's results. If you need to carry over the original execution
statuses and defect links, use copy_executions_to_cycle instead. |
| link_execution_defectsA | Link Jira defect(s) to execution(s) (asynchronous; returns/polls a token). executions are execution ids; defects are Jira issue keys (e.g. ABC-41).
Each defect is attached to each execution. With wait=True (default) polls to
completion; with wait=False returns {jobProgressToken}.
|
| assign_executionA | Assign an execution to a user. assignee is a Jira username/account id. (execution_id is the schedule id
from list_executions.) Returns the API's (empty) acknowledgement.
|
| delete_executionA | Delete an execution by its numeric id. Args:
execution_id: numeric id of the execution to delete. Returns:
{"success": "Successfully deleted execution(s) "} |
| list_test_stepsB | List the test steps of a Zephyr test issue. issue accepts a Jira issue key (e.g. SONY-1386) or a numeric issueId
(prefer the id when you have it, to skip a lookup).
Returns {stepBeanCollection: [...]}.
|
| create_test_stepA | Add a test step to a Zephyr test issue. issue accepts a Jira issue key or numeric issueId (prefer the id when you
have it, to skip a lookup). step is the action,
data the test data, result the expected result. Returns the created step.
|
| update_test_stepA | Update fields of an existing test step. Only the provided fields are sent (omit to leave unchanged). step is the
action, data the test data, result the expected result. issue accepts a
key or id (prefer the id when you have it, to skip a lookup). Returns the
updated step. |
| delete_test_stepB | Delete a test step. Returns the remaining steps for the issue. |
| list_step_resultsA | List the per-step results for an execution. execution_id is the numeric id of an execution (from list_executions
or search_executions). Returns the step-result records, each with a
status code (-1=UNEXECUTED, 1=PASS, 2=FAIL, 3=WIP, 4=BLOCKED).
|
| update_step_resultA | Set the status (and optional comment) of one step result. Get step_result_id from list_step_results. status codes:
-1=UNEXECUTED, 1=PASS, 2=FAIL, 3=WIP, 4=BLOCKED. Step results are created
automatically when an execution is opened, so there is no separate create. |
| get_tests_by_requirementA | Find the Zephyr tests that cover one or more requirement issues. requirements is a Jira issue key/id, or a comma-separated string / list
of them (e.g. "PROJ-1,PROJ-2" or ["PROJ-1", "PROJ-2"]). Returns, per
requirement, the linked tests and a defect count — use to flag orphaned
requirements (empty tests) and to map AC coverage.
|
| get_executions_by_testA | List executions for a given test issue (its execution history & defects). test is a Jira test issue key or id. Use to flag tests that have never
been executed (audit coverage).
|
| get_executions_by_defectA | List executions linked to a given defect (incl. step-level defects). defect is a Jira bug key or id. Returns {executions, totalCount}.
|
| get_defect_statisticsA | Get execution/requirement/test statistics for one or more defects. defects is a Jira key/id or a comma-separated string / list of them.
Returns per-defect rollups (execution status totals, requirement & test
counts) — useful for defect-density and closure-rate narratives.
|
| list_projectsA | List all Jira projects visible to Zephyr (name/key -> projectId). Returns {options: [{label, value, type}, ...]} where label is the
project name and value is its numeric id. Use this to discover ids; most
tools also accept a project key/name directly. |
| list_versionsA | List the versions of a project (name -> versionId). project accepts a key, name, or numeric id (prefer the id when you have
it, to skip a lookup). Returns
{unreleasedVersions, releasedVersions} where each entry has label
(version name) and value (versionId). -1 is the Unscheduled version.
|
| get_zephyr_test_issue_typeA | Discover the Zephyr "Test" issue-type id per project (for use case 1.1). Returns {options: [{label, type, value}, ...]} where label is the
project key/name and value is that project's Zephyr Test issue-type
id. Use this to find the issue-type id the Jira/Atlassian MCP needs when
creating Zephyr Test issues (Zephyr does not create Jira issues itself). |
| get_job_progressA | Poll an asynchronous ZAPI job once by its progress token. type identifies the job kind, e.g.
bulk_execution_copy_move_job_progress (copy/move executions) or
cycle_delete_job_progress. Returns the current progress payload
(progress reaches 1.0 when complete; message holds the result).
|