Skip to main content
Glama
SmartBear

SmartBear MCP server

Official
by SmartBear

Zephyr: Update Test Case

zephyr_update_test_case
Idempotent

Update an existing Zephyr test case by merging changes to preserve unspecified properties. Set null to remove a property, or provide values to override.

Instructions

Update an existing Test Case in Zephyr. This operation fetches the current test case and merges your updates with it to prevent accidental property deletion. Properties which are not included in the tool call will be left unchanged. To remove a property, set it to null explicitly. For fields that accept multiple values, such as labels, if the field is provided, it will override the previous values. For example, if labels is provided with the values ["label1", "label2"], the Test Case will now only have those two labels, and any previous labels will be removed. If you want to add a label, you would need to specify in the prompt the intention to add a label.

Toolset: Test Cases

Examples:

  1. Update the name of the test case 'SA-T10' to 'Check axial pump' and objective to 'To ensure the axial pump can be enabled'

{
  "testCaseKey": "SA-T10",
  "name": "Check axial pump",
  "objective": "To ensure the axial pump can be enabled"
}

Expected Output: The test case should be updated, but no output is expected.

  1. Update the test case 'MM2-T1' by setting labels 'Regression','Performance' and 'Automated' and changing the priority to the one with id 2.

{
  "testCaseKey": "MM2-T1",
  "priority": {
    "id": 2
  },
  "labels": [
    "Regression",
    "Performance",
    "Automated"
  ]
}

Expected Output: The test case should be updated, but no output is expected.

  1. Update test case 'SA-T5', by setting the custom field 'Build Number' to 20, 'Release Date' to '2020-01-01' and setting the Test Cases's estimated time to 3600000 milliseconds.

{
  "testCaseKey": "SA-T5",
  "estimatedTime": 3600000,
  "customFields": {
    "Build Number": 20,
    "Release Date": "2020-01-01"
  }
}

Expected Output: The test case should be updated, but no output is expected.

  1. Remove the component from test case 'SA-T20'.

{
  "testCaseKey": "SA-T20",
  "component": null
}

Expected Output: The test case should be updated, but no output is expected.

  1. Remove a specific custom field 'Pre-Condition(s)' from test case 'SA-T15' while keeping other custom fields intact

{
  "testCaseKey": "SA-T15",
  "customFields": {
    "Pre-Condition(s)": null,
    "Implemented": false
  }
}

Expected Output: The test case should be updated, but no output is expected.

  1. Remove test case from folder

{
  "testCaseKey": "SA-T15",
  "folder": null
}

Expected Output: The test case should be updated, but no output is expected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoThe ID of the entity
keyNoThe test case key
nameNo
ownerNoAtlassian Account ID of the Jira user.
folderNoThe ID of the folder, to remove folder set it's value to null
labelsNoArray of labels associated to this entity.
statusNoID and link to the status resource.
projectNoID and link relative to Zephyr project.
priorityNoID and link to the priority resource.
componentNoID and link to the Jira component resource.
objectiveNoA description of the objective.
testCaseKeyYesThe key of the test case. Test case keys are of the format [A-Z]+-T[0-9]+
customFieldsNoMulti-line text fields support HTML and should denote new lines with the \<br\> tag. Dates should be in the format 'yyyy-MM-dd'. Users should have values of Jira User Account IDs.
preconditionNoAny conditions that need to be met.
estimatedTimeNoEstimated duration in milliseconds.
Behavior5/5

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

The description goes well beyond annotations by detailing the merge behavior: it fetches the current test case, merges updates, and leaves unspecified properties unchanged. It also explains how to remove properties (set to null) and that fields like labels override previous values. This provides critical behavioral context that annotations (idempotentHint true, readOnlyHint false) do not cover.

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?

The description is front-loaded with the key merge behavior and then provides multiple detailed examples. While slightly verbose, the structure is clear and the examples are valuable for an agent. Minor redundancy could be trimmed.

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

Completeness5/5

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

Given the complexity (15 parameters, nested objects, merge logic, no output schema), the description is comprehensive. It covers the update process, property retention/removal, label behavior, and provides six examples covering various use cases. The expected output is stated, making it complete for agent use.

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

Parameters5/5

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

With 93% schema coverage, the schema already describes most parameters, but the description adds significant meaning: it explains the merge semantics, label override behavior, and includes examples that show how to use parameters like custom fields, estimatedTime, and property removal via null. This surpasses what the schema alone provides.

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?

The description clearly states the tool updates an existing test case in Zephyr. It distinguishes itself from sibling tools like create or get by explaining the merge behavior and property handling, making its purpose unambiguous.

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?

The description provides a clear context for when to use this tool (for updating existing test cases) and includes examples. However, it does not explicitly list when not to use it or suggest alternatives such as creating a new test case or deleting. Still, the context is strong.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SmartBear/smartbear-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server