Skip to main content
Glama

create_test_case

Creates a test case in Allure TestOps using a required name and optional project, tags, links, members, custom fields, and scenario steps, then returns its ID and name.

Instructions

Create a test case and return {ok, id, name, projectId}.

name is required, project_id defaults to TESTOPS_PROJECT_ID. JSON-string arguments: tags_json [{"id": 3, "name": "smoke"}] (the API requires the tag id) links_json [{"name": "JIRA", "type": "issue", "url": "https://jira/browse/ABC-1"}] members_json [{"id": 7, "name": "ivanov", "role": {"id": 1, "name": "MEMBER"}}] (role is an object RoleDto, not a plain string) custom_fields_json [{"customField": {"id": 12, "name": "Severity"}, "name": "high"}] (the API requires both id and name of the custom field) scenario_json {"steps": [{"type": "body", "body": "Open the form"}]} Ids for status_id, workflow_id and test_layer_id come from list_statuses and list_reference. More steps are added with add_test_case_step.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>"
    },
    "name": "create_test_case"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYes
automatedNo
status_idNo
tags_jsonNo
links_jsonNo
project_idNo
descriptionNo
workflow_idNo
members_jsonNo
preconditionNo
postconditionNo
scenario_jsonNo
test_layer_idNo
expected_resultNo
custom_fields_jsonNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.5

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden and does well: it discloses that name is required, that project_id silently falls back to TESTOPS_PROJECT_ID, and that five parameters are JSON-encoded strings rather than structured objects — a trap an agent would otherwise fall into. It stops short of stating permission requirements or failure behavior for invalid ids.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the verb and return shape, then a scannable indented list keyed to parameter names, with source hints for the id fields at the end. The example payloads earn their space because they encode syntax the schema does not convey; wording is tight throughout.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter mutation with zero annotation coverage, this is close to what an agent needs: it identifies the required field, the default, the JSON-string encoding, and where to source lookup ids. Since an output schema exists, the brief return mention is sufficient; only runtime error/permission behavior is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it does for the 10 non-obvious parameters by giving literal example payloads and the constraints that matter (tags need the tag id; custom fields need both id and name; role is a RoleDto object, not a string). The five remaining parameters (automated, description, precondition, postcondition, expected_result) are self-evident by name and left undocumented, which is an acceptable omission.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a test case') and immediately names the return shape {ok, id, name, projectId}. It is unmistakably distinct from get_test_case, update_test_case, and create_test_plan among the siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete routing for the hard parts: status_id/workflow_id/test_layer_id come from list_statuses and list_reference, and additional steps come from add_test_case_step rather than this tool. It does not explicitly say when to prefer update_test_case or what to do on a duplicate, but for a create tool the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.