Update Test Case In A Run
update_run_test_caseUpdate a single test case in a manual run by assigning an owner or recording a pass, fail, blocked, skipped, or retest result, including comments, linked issues, and step outcomes.
Instructions
Update one test case inside a manual run. Two modes, same tool: (1) Quick verdict — pass updates.assigneeUserId and/or updates.result/status to do what clicking "Assign to" and the result pill does in the UI. (2) Detailed result — additionally pass any of updates.comment (rich HTML), updates.linkedIssues, updates.stepResults to record a full result entry, exactly like the UI's "Add detailed result…" dialog. Whenever any of those rich fields are present the server logs a complete result instead of a bare status change. NOTE: combining updates.assigneeUserId with any detailed-result field in one call is rejected — make two calls (one to assign, one to record the result), mirroring the UI's separate "Assign to" and "Add detailed result…" actions. Requires write permission. rtcRef accepts the caseKey ("TC-156"), the internal tcm_rtc_... RTC ID, or the underlying test case _id. Works for both already-touched cases and "untested" virtual cases (the server auto-creates the per-case record on first edit). Closed runs reject result writes. IMPORTANT: send updates.assigneeUserId as an email OR User _id — both are accepted. updates.result accepts the UI labels — the canonical values are "untested", "passed", "failed", "blocked", "skipped", "retest". Pass display ("Passed", "Blocked") or canonical ("passed", "blocked") form — the server normalizes lowercase+underscored. To update multiple cases at once, call this tool in parallel (one call per case). Files cannot be added to a result over MCP — tell the user to use the TestDino UI.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| runId | Yes | Internal run _id or counter-style ID e.g. "RUN-12" | |
| rtcRef | Yes | Per-case record reference — `tcm_rtc_...` _id, caseKey ("TC-156"), or underlying test case _id. | |
| updates | Yes | Quick verdict: assigneeUserId (email or _id; null to unassign), result/status (display or canonical), elapsed (seconds). Detailed result (any of these triggers a full result entry): comment (rich HTML), linkedIssues (array of linked-issue objects), stepResults (array, e.g. [{ "order": 1, "status": "passed", "comment": "" }]), configuration (the browser/platform this result is for). configuration is REQUIRED when the run covers more than one browser — a result naming none belongs to no cell and is rejected. | |
| projectId | Yes | Project ID |