Skip to main content
Glama
SmartBear

SmartBear MCP server

Official
by SmartBear

QMetry: Create Requirement

qmetry_create_requirement

Create a new requirement in QMetry with metadata like priority, owner, state, release/cycle mapping, and custom fields to support test management.

Instructions

Create a new requirement in QMetry with metadata and release/cycle mapping.

Toolset: Requirements

Parameters:

  • name (string) required: Requirement name (required).

  • priority (number): Priority ID of the requirement.

  • component (array): Component (Label) IDs associated with the requirement.

  • requirementOwner (number): Owner ID of the requirement.

  • requirementState (number): State ID of the requirement.

  • releaseCycleMapping (array): Release/cycle mapping for the requirement.

  • description (string): Description of the requirement.

  • associateRelCyc (boolean): Whether to associate the release/cycle mapping.

  • rqFolderId (string): Requirement folder ID - SYSTEM AUTOMATICALLY RESOLVES THIS. Leave empty unless you have a specific folder ID. System will fetch project info using the projectKey and extract rootFolders.RQ.id automatically. Manual folder ID only needed if you want to target a specific sub-folder.

  • scope (string): Scope of the requirement, usually 'project'. (default: "project")

  • udfFields (record<string, union>): Flat UDF field values. Keys = UDF field names from 'Fetch UDF Layout'. Values depend on fieldTypeName: STRING/LARGETEXT: string, NUMBER: number, DATETIMEPICKER: date string ('14-08-2026'), LOOKUPLIST: numeric ID, MULTILOOKUPLIST: array of IDs [101, 102], CASCADINGLIST: { parent: 101, child: 102 }. Call 'Fetch UDF Layout' with entityType + pageName='ADD' to discover available fields and list option IDs.

Output Description: JSON object containing the new requirement ID, summary, and creation metadata.

Use Cases: 1. Create a basic requirement with just a name 2. Add detailed metadata like priority, component, and description to a requirement 3. Associate a requirement with a specific release/cycle for planning 4. Set requirementOwner and requirementState using valid IDs from project info 5. Create a requirement in a specific folder using rqFolderId 6. Set custom fields (UDFs) values on the new requirement

Examples:

  1. Create a requirement in the root folder (auto-resolved)

{
  "name": "New login requirement"
}

Expected Output: Requirement created in the root requirement folder with ID and summary details

  1. Create a requirement with metadata

{
  "name": "New login requirement",
  "priority": 688864,
  "component": [
    689030
  ],
  "requirementOwner": 8,
  "requirementState": 688912,
  "description": "Users must be able to log in with SSO.",
  "associateRelCyc": true,
  "releaseCycleMapping": [
    {
      "release": 1628,
      "cycle": [
        1839,
        1840
      ],
      "version": 1
    }
  ]
}

Expected Output: Requirement created with metadata. Example uses: priority=688864, component=[689030], requirementOwner=8, requirementState=688912 — resolve these IDs from project info's customListObjs before use.

Hints: 1. 'name' is the only mandatory field — sets the requirement's title/summary. Every other field is optional. 2. 'description' is a free-text field (supports HTML) for detailed requirement information. 3. 'component' is an array of Component (Label) IDs — resolve names to IDs from project info before use. 4. If rqFolderId is not provided, it will be auto-resolved to the root requirement folder using project info (rootFolders.RQ.id). 5. To get valid values for priority, component, requirementOwner (owner), requirementState (state), call the 'Admin/Get info Service' API (FETCH_PROJECT_INFO tool) and use the returned customListObjs IDs. 6. If the user provides a name instead of an ID for owner/state/priority/component, fetch project info, find the matching entry by name in the relevant customListObjs list, and use its ID. If not found, skip that field and tell the user it was omitted because the value wasn't available in the current project. 7. Release/cycle mapping is optional. If the user wants to associate a release and cycle, set associateRelCyc: true and provide releaseCycleMapping. 8. HARD GATE (not configurable): before creating, this tool checks project info for isExtTrackerConfigured, extTrackerType, and isRQConfigured. If the project has an external tracker configured (isExtTrackerConfigured=true) and isRQConfigured=true, and the tracker is Jira (extTrackerType=1) or Azure (extTrackerType=3), the create is refused with an error — do NOT retry or work around this. Tell the user requirements for this project must be created directly in the external system (Jira or Azure), then synced into QMetry. 9. 10. UDF (User Defined Fields) WORKFLOW FOR CREATE: 11. 1. Call 'Fetch UDF Layout' with entityType='RQ', pageName='ADD' to discover field names, types, and list option IDs. 12. IF listOptions[field.listName] is empty after Fetch UDF Layout, the tool already tried a metadata fallback. If STILL empty, ask the user to provide the option ID from the QMetry UI — do NOT guess numeric IDs. 13. 2. For LOOKUPLIST fields: pick one ID from listOptions[field.listName][].id. 14. 3. For MULTILOOKUPLIST fields: pick an array of IDs. 15. 4. For CASCADINGLIST fields: pick parent ID, then call 'Fetch Cascade Child Values' for child ID. Pass { parent: parentId, child: childId }. 16. 5. Pass all UDF values via 'udfFields' param: { fieldName: value }. 17. 6. Mandatory UDF fields (isMandatory=true) MUST be included or create will fail.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesRequirement name (required).
scopeNoScope of the requirement, usually 'project'.project
priorityNoPriority ID of the requirement.
componentNoComponent (Label) IDs associated with the requirement.
udfFieldsNoFlat UDF field values. Keys = UDF field names from 'Fetch UDF Layout'. Values depend on fieldTypeName: STRING/LARGETEXT: string, NUMBER: number, DATETIMEPICKER: date string ('14-08-2026'), LOOKUPLIST: numeric ID, MULTILOOKUPLIST: array of IDs [101, 102], CASCADINGLIST: { parent: 101, child: 102 }. Call 'Fetch UDF Layout' with entityType + pageName='ADD' to discover available fields and list option IDs.
rqFolderIdNoRequirement folder ID - SYSTEM AUTOMATICALLY RESOLVES THIS. Leave empty unless you have a specific folder ID. System will fetch project info using the projectKey and extract rootFolders.RQ.id automatically. Manual folder ID only needed if you want to target a specific sub-folder.
descriptionNoDescription of the requirement.
associateRelCycNoWhether to associate the release/cycle mapping.
requirementOwnerNoOwner ID of the requirement.
requirementStateNoState ID of the requirement.
releaseCycleMappingNoRelease/cycle mapping for the requirement.
Install Server

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations, the description reveals important runtime behaviors: rqFolderId is auto-resolved unless a specific sub-folder is given, mandatory UDF fields will cause failure if omitted, and an external-tracker hard gate refuses creation for Jira/Azure and says not to retry. No stated behavior contradicts the annotations.

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 content is front-loaded with a clear purpose and organized into useful sections, but it is verbose and repetitive: the Parameters section largely duplicates the schema, hints overlap with examples, and the numbering becomes malformed ('9.', '10.', '11.', then nested '11. 1.' etc.). Dense information is valuable, but this could be trimmed substantially.

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?

For a complex 11-parameter create operation with nested objects, UDF handling, ID-resolution requirements, and an external-tracker gate, the description covers everything needed: required fields, optional metadata, prerequisite data sources, UDF discovery, expected output shape, and hard failure conditions. No critical invocation detail is missing.

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?

Although schema coverage is 100%, the description substantially enriches parameter understanding: rqFolderId gets an auto-resolution explanation, udfFields gets fieldType-specific value shapes and a step-by-step discovery workflow, and releaseCycleMapping has a concrete example. This goes well beyond the schema's terse property descriptions.

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 opening sentence states a specific action and resource: 'Create a new requirement in QMetry with metadata and release/cycle mapping.' The 'Toolset: Requirements' label further disambiguates it from the many fetching/updating sibling tools, and the name itself differentiates it from qmetry_update_requirement.

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 Use Cases section lists six concrete situations where this tool is appropriate, and the HARD GATE explicitly tells the agent when NOT to create in QMetry and to direct the user to Jira/Azure instead. Hints also specify prerequisite tool calls like FETCH_PROJECT_INFO and Fetch UDF Layout, plus behavior when a provided name cannot be resolved to an ID.

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

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