Medium Risk

qmetry_update_cycle

Update an existing cycle in QMetry for test execution planning **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) (default: "https://testmanagement.qmetry.com")...

Admin/system-level operation

Part of the SmartBear MCP MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

@smartbear/mcp Write Risk 3/5

AI agents use qmetry_update_cycle to create or modify resources in SmartBear MCP. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.

Without a policy, an AI agent could call qmetry_update_cycle repeatedly, creating or modifying resources faster than any human could review. Intercept's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach SmartBear MCP.

Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.

smartbear-mcp.yaml
tools:
  qmetry_update_cycle:
    rules:
      - action: allow
        rate_limit:
          max: 30
          window: 60

See the full SmartBear MCP policy for all 147 tools.

Tool Name qmetry_update_cycle
Category Write
Risk Level Medium

View all 147 tools →

What does the qmetry_update_cycle tool do? +

Update an existing cycle in QMetry for test execution planning **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) (default: "https://testmanagement.qmetry.com") - 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 ```json { "cycle": { "name": "Alpha_v1_Updated", "buildID": 1494, "releaseID": 3729 } } ``` Expected Output: Cycle updated successfully with new name 'Alpha_v1_Updated' 2. Update cycle dates ```json { "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 3. Update cycle name and dates together ```json { "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[<index>].builds[<index>].buildID 6. 3. From the response, get releaseID from projects.releases[<index>].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. It is categorised as a Write tool in the SmartBear MCP MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on qmetry_update_cycle? +

Add a rule in your Intercept YAML policy under the tools section for qmetry_update_cycle. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the SmartBear MCP MCP server.

What risk level is qmetry_update_cycle? +

qmetry_update_cycle is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit qmetry_update_cycle? +

Yes. Add a rate_limit block to the qmetry_update_cycle rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block qmetry_update_cycle completely? +

Set action: deny in the Intercept policy for qmetry_update_cycle. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides qmetry_update_cycle? +

qmetry_update_cycle is provided by the SmartBear MCP MCP server (@smartbear/mcp). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policies on SmartBear MCP

Open source. One binary. Zero dependencies.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.