Skip to main content
Glama
SmartBear

SmartBear MCP server

Official
by SmartBear

QMetry: Update Cycle

qmetry_update_cycle
Idempotent

Update a QMetry test cycle's name or dates to reflect schedule changes and sprint planning adjustments.

Instructions

Update an existing cycle in QMetry for test execution planning

Toolset: Projects

Parameters:

  • projectKey (string): Project key - unique identifier for the project (default: "default")

  • baseUrl (string): The base URL for the QMetry instance (must be a valid URL)

  • cycle (object) required

Output Description: JSON object containing the updated cycle details and confirmation of update

Use Cases: 1. Update cycle name for better organization 2. Modify cycle dates to reflect schedule changes 3. Adjust testing phase timelines within a release 4. Update cycle metadata for sprint tracking 5. Revise milestone dates for test execution planning 6. Rename cycles to match updated sprint naming conventions

Examples:

  1. Update cycle name

{
  "cycle": {
    "name": "Alpha_v1_Updated",
    "buildID": 1494,
    "releaseID": 3729
  }
}

Expected Output: Cycle updated successfully with new name 'Alpha_v1_Updated'

  1. Update cycle dates

{
  "cycle": {
    "startDate": "10-10-2018",
    "targetDate": "11-11-2018",
    "buildID": 1494,
    "releaseID": 3729
  }
}

Expected Output: Cycle dates updated successfully with new start date 10-10-2018 and target date 11-11-2018

  1. Update cycle name and dates together

{
  "cycle": {
    "name": "Sprint 2 - Updated",
    "startDate": "15-01-2024",
    "targetDate": "31-01-2024",
    "buildID": 1494,
    "releaseID": 3729
  }
}

Expected Output: Cycle updated with new name and dates successfully

Hints: 1. CRITICAL: cycle.buildID is REQUIRED - must provide the build ID to identify the cycle to update 2. CRITICAL: cycle.releaseID is REQUIRED - must provide the release ID to identify the cycle to update 3. HOW TO GET buildID and releaseID: 4. 1. Call FETCH_RELEASES_CYCLES tool (API: 'Cycle/List') to get all cycles 5. 2. From the response, get buildID from projects.releases[].builds[].buildID 6. 3. From the response, get releaseID from projects.releases[].releaseID 7. 4. Use those numeric IDs in cycle.buildID and cycle.releaseID parameters 8. Example: Cycle 'Sprint 2' might have buildID: 1494 and releaseID: 3729 9. CRITICAL WORKFLOW - IF USER PROVIDES CYCLE NAME: 10. 1. User says: 'Update cycle Sprint 2 to change dates' 11. 2. You MUST first call FETCH_RELEASES_CYCLES tool to get all cycles 12. 3. Search the response for cycle with matching name 'Sprint 2' 13. 4. Extract buildID and releaseID from the matching cycle 14. 5. Use those IDs in cycle.buildID and cycle.releaseID parameters 15. 6. If cycle name not found, inform user and list available cycles 16. Example workflow: 17. - User request: 'Update cycle Alpha_v1 name to Alpha_v1_Updated' 18. - Step 1: Call FETCH_RELEASES_CYCLES 19. - Step 2: Find cycle where name = 'Alpha_v1', get its buildID (e.g., 1494) and releaseID (e.g., 3729) 20. - Step 3: Call UPDATE_CYCLE with cycle.buildID = 1494 and cycle.releaseID = 3729 21. CYCLE IDENTIFICATION: 22. - NEVER assume or guess buildID or releaseID - always fetch from API 23. - Cycle names are user-defined strings (e.g., 'Sprint 2', 'Alpha_v1', 'Regression Cycle') 24. - buildID and releaseID are numeric identifiers assigned by QMetry 25. - Match cycle names case-insensitively when searching 26. - If multiple cycles match the name, ask user to clarify or use the most recent one 27. - FETCH_RELEASES_CYCLES returns: projects.releases[].builds[] array with name, buildID, and releaseID 28. Date format depends on QMetry instance configuration: DD-MM-YYYY or MM-DD-YYYY 29. Check your QMetry instance settings to determine the correct date format 30. NOTE: To verify/update the Date Format - Go to QMetry -> User Profile 31. If dates are in wrong format, QMetry will return an error - verify format with admin 32. You can update name, startDate, or targetDate independently or together 33. Only include the fields you want to update - other fields will remain unchanged 34. startDate and targetDate help with sprint planning and milestone tracking 35. Cycle hierarchy: Project → Release → Cycle → Test Execution 36. After updating a cycle, you can verify changes using FETCH_RELEASES_CYCLES tool 37. DIFFERENCE FROM CREATE_CYCLE: This tool updates an EXISTING cycle, while CREATE_CYCLE creates a new one

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cycleYes
baseUrlNoThe base URL for the QMetry instance (must be a valid URL)
projectKeyNoProject key - unique identifier for the projectdefault
Behavior4/5

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

Annotations provide readOnlyHint=false, and the description adds that it updates existing data, is not destructive, and only modifies specified fields. It does not contradict annotations and provides additional context about idempotent behavior (if same update applied repeatedly). Some behavioral aspects like error handling are covered.

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

Conciseness3/5

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

The description is very long with many enumerated points and examples. While well-structured and front-loaded with a summary, it could be more concise. Every section has value, but the length detracts from quick comprehension.

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 (3 parameters, nested object, no output schema), the description leaves no gaps. It covers prerequisites, workflow, examples, date format variants, error handling, and verification steps. It is fully self-contained.

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?

The schema already describes all parameters with explanations, but the description goes far beyond by explaining how to obtain buildID and releaseID, date format nuances, and the relationship between parameters. This adds significant value beyond the schema.

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 'Update an existing cycle in QMetry for test execution planning', which specifies the verb 'update' and the resource 'cycle'. It distinguishes itself from sibling tools like qmetry_create_cycle by explicitly noting the difference in the hints section.

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

Usage Guidelines5/5

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

The description provides extensive guidance on when to use the tool, including a detailed workflow for retrieving required IDs, handling user-provided cycle names, and differentiating from CREATE_CYCLE. It offers multiple examples and hints for correct usage.

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