search_items
Search Codebeamer items using cbQL queries to find issues, tasks, or requirements based on fields like status, priority, assignee, or modification date.
Instructions
Search Codebeamer items using cbQL query language. Examples: 'tracker.id IN (42) AND status.name = "Open"', 'summary LIKE "login bug"', 'priority.name = "High" AND assignedTo.name = "john.doe"', 'project.id IN (1) AND modifiedAt >= -1w'. Use get_tracker to see available fields for a tracker.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | cbQL query string | |
| page | No | Page number (starts at 1) | |
| pageSize | No | Items per page (max 50) |
Implementation Reference
- src/tools/items.ts:42-45 (handler)The tool handler for 'search_items' which calls the client's searchItems method and formats the output.
async ({ query, page, pageSize }) => { const result = await client.searchItems(query, page, pageSize); return { content: [{ type: "text", text: formatItemList(result) }] }; }, - src/tools/items.ts:13-41 (registration)Registration of the 'search_items' tool with schema and description.
server.registerTool( "search_items", { title: "Search Items (cbQL)", description: "Search Codebeamer items using cbQL query language. " + "Examples: " + "'tracker.id IN (42) AND status.name = \"Open\"', " + "'summary LIKE \"login bug\"', " + "'priority.name = \"High\" AND assignedTo.name = \"john.doe\"', " + "'project.id IN (1) AND modifiedAt >= -1w'. " + "Use get_tracker to see available fields for a tracker.", inputSchema: { query: z.string().describe("cbQL query string"), page: z .number() .int() .min(1) .default(1) .describe("Page number (starts at 1)"), pageSize: z .number() .int() .min(1) .max(50) .default(25) .describe("Items per page (max 50)"), }, }, - The client implementation method that performs the actual API request for searching items.
async searchItems( queryString: string, page: number, pageSize: number, ): Promise<CbItem[]> { const raw = await this.http.get<unknown>("/items/query", { params: { queryString, page, pageSize }, resource: "item query", }); return toArray(raw); }