QMetry: Create Requirement
qmetry_create_requirementCreate 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:
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
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Requirement name (required). | |
| scope | No | Scope of the requirement, usually 'project'. | project |
| priority | No | Priority ID of the requirement. | |
| component | No | Component (Label) IDs associated with the requirement. | |
| udfFields | No | 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. | |
| rqFolderId | No | 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. | |
| description | No | Description of the requirement. | |
| associateRelCyc | No | Whether to associate the release/cycle mapping. | |
| requirementOwner | No | Owner ID of the requirement. | |
| requirementState | No | State ID of the requirement. | |
| releaseCycleMapping | No | Release/cycle mapping for the requirement. |