search_bugs_by_product_and_release
Search for bugs by specific product ID and software release versions in a single API call. Filter results by status, severity, or modification date to identify issues efficiently.
Instructions
Search bugs by specific product ID and software releases. CRITICAL: Use "software_releases" parameter with comma-separated values like "17.9.1,17.12.3" to search up to 75 versions in ONE API call. NEVER make multiple separate calls for different versions - the API supports multiple versions in a single request. Use this when you have an exact product ID and want to filter by specific software versions. For product series searches, use search_bugs_by_product_series_affected instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| base_pid | Yes | Specific product ID (e.g., "C9300-24P", "ISR4431", "ASA5516-X") - NOT product series names | |
| modified_date | No | Last modified date filter. Values: 1=Last Week, 2=Last 30 Days, 3=Last 6 Months, 4=Last Year, 5=All. Default: 5 (All) | 5 |
| page_index | No | Page number (10 results per page) | |
| severity | No | Bug severity filter. Returns bugs with ONLY the specified severity level. Values: 1=Severity 1 (highest), 2=Severity 2, 3=Severity 3, 4=Severity 4, 5=Severity 5, 6=Severity 6 (lowest). For "severity 3 or higher" bugs, use multi_severity_search tool which handles multiple separate API calls. | |
| software_releases | Yes | Comma-separated software release versions (e.g., "17.9.1,17.12.3") - can search up to 75 versions in one call. Do NOT make separate API calls for each version. | |
| sort_by | No | Sort order for results. Default: modified_date (recent first) | |
| status | No | Bug status filter. IMPORTANT: Only ONE status allowed per search. Values: O=Open, F=Fixed, T=Terminated. Do NOT use comma-separated values like "O,F". |
Implementation Reference
- src/apis/bug-api.ts:670-675 (handler)Handler logic constructs the specific Cisco Bug API endpoint for searching bugs by product ID and multiple software releases, with URL encoding for product IDs containing slashes (e.g., ISR4431-V/K9). Relies on prior normalization of software_releases parameter.case 'search_bugs_by_product_and_release': // Ensure forward slashes are properly encoded for product IDs like ISR4431-V/K9 const encodedBasePidForRelease = encodeURIComponent(processedArgs.base_pid).replace(/\//g, '%2F'); endpoint = `/bugs/products/product_id/${encodedBasePidForRelease}/software_releases/${encodeURIComponent(processedArgs.software_releases)}`; break;
- src/apis/bug-api.ts:232-275 (registration)Tool registration in BugApi.getTools(): defines name, detailed description, input schema with required base_pid and software_releases parameters, optional pagination/filtering.{ name: 'search_bugs_by_product_and_release', description: 'Search bugs by specific product ID and software releases. CRITICAL: Use "software_releases" parameter with comma-separated values like "17.9.1,17.12.3" to search up to 75 versions in ONE API call. NEVER make multiple separate calls for different versions - the API supports multiple versions in a single request. Use this when you have an exact product ID and want to filter by specific software versions. For product series searches, use search_bugs_by_product_series_affected instead.', inputSchema: { type: 'object', properties: { base_pid: { type: 'string', description: 'Specific product ID (e.g., "C9300-24P", "ISR4431", "ASA5516-X") - NOT product series names' }, software_releases: { type: 'string', description: 'Comma-separated software release versions (e.g., "17.9.1,17.12.3") - can search up to 75 versions in one call. Do NOT make separate API calls for each version.' }, page_index: { type: 'integer', default: 1, description: 'Page number (10 results per page)' }, status: { type: 'string', description: 'Bug status filter. IMPORTANT: Only ONE status allowed per search. Values: O=Open, F=Fixed, T=Terminated. Do NOT use comma-separated values like "O,F".', enum: ['O', 'F', 'T'] }, severity: { type: 'string', description: 'Bug severity filter. Returns bugs with ONLY the specified severity level. Values: 1=Severity 1 (highest), 2=Severity 2, 3=Severity 3, 4=Severity 4, 5=Severity 5, 6=Severity 6 (lowest). For "severity 3 or higher" bugs, use multi_severity_search tool which handles multiple separate API calls.', enum: ['1', '2', '3', '4', '5', '6'] }, modified_date: { type: 'string', description: 'Last modified date filter. Values: 1=Last Week, 2=Last 30 Days, 3=Last 6 Months, 4=Last Year, 5=All. Default: 5 (All)', enum: ['1', '2', '3', '4', '5'], default: '5' }, sort_by: { type: 'string', description: 'Sort order for results. Default: modified_date (recent first)', enum: ['status', 'modified_date', 'severity', 'support_case_count', 'modified_date_earliest'] }, }, required: ['base_pid', 'software_releases'] } },
- src/apis/bug-api.ts:235-274 (schema)Input schema defines parameters for product ID, comma-separated software releases (up to 75), pagination, status (single value), severity (single), modified date, sort order.inputSchema: { type: 'object', properties: { base_pid: { type: 'string', description: 'Specific product ID (e.g., "C9300-24P", "ISR4431", "ASA5516-X") - NOT product series names' }, software_releases: { type: 'string', description: 'Comma-separated software release versions (e.g., "17.9.1,17.12.3") - can search up to 75 versions in one call. Do NOT make separate API calls for each version.' }, page_index: { type: 'integer', default: 1, description: 'Page number (10 results per page)' }, status: { type: 'string', description: 'Bug status filter. IMPORTANT: Only ONE status allowed per search. Values: O=Open, F=Fixed, T=Terminated. Do NOT use comma-separated values like "O,F".', enum: ['O', 'F', 'T'] }, severity: { type: 'string', description: 'Bug severity filter. Returns bugs with ONLY the specified severity level. Values: 1=Severity 1 (highest), 2=Severity 2, 3=Severity 3, 4=Severity 4, 5=Severity 5, 6=Severity 6 (lowest). For "severity 3 or higher" bugs, use multi_severity_search tool which handles multiple separate API calls.', enum: ['1', '2', '3', '4', '5', '6'] }, modified_date: { type: 'string', description: 'Last modified date filter. Values: 1=Last Week, 2=Last 30 Days, 3=Last 6 Months, 4=Last Year, 5=All. Default: 5 (All)', enum: ['1', '2', '3', '4', '5'], default: '5' }, sort_by: { type: 'string', description: 'Sort order for results. Default: modified_date (recent first)', enum: ['status', 'modified_date', 'severity', 'support_case_count', 'modified_date_earliest'] }, }, required: ['base_pid', 'software_releases'] }
- src/apis/bug-api.ts:18-22 (helper)Helper function normalizes software version strings for Cisco API by removing leading zeros in segments (e.g., 17.09.06 -> 17.9.6), applied to software_releases before API call.private normalizeVersionString(version: string): string { if (!version) return version; // Remove leading zeros from each version segment: 17.09.06 -> 17.9.6 return version.replace(/\.0+(\d)/g, '.$1'); }
- src/utils/formatting.ts:387-390 (helper)Helper in formatSearchContext: formats the search parameters (product ID and software releases) for inclusion in formatted bug search results.} else if (searchContext.toolName === 'search_bugs_by_product_and_release') { formatted += `**Product ID:** ${searchContext.args.base_pid}\n\n`; formatted += `**Software Releases:** ${searchContext.args.software_releases}\n\n`; } else if (searchContext.toolName === 'search_bugs_by_product_series_affected') {