search_test_sets
Search for test sets using JQL queries to find specific testing groups in Xray test management system.
Instructions
Search for test sets using JQL (Jira Query Language)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jql | Yes | JQL query to search test sets | |
| maxResults | No | Maximum number of results to return |
Implementation Reference
- src/index.ts:826-839 (handler)MCP server tool handler for 'search_test_sets': extracts JQL and maxResults from arguments, calls xrayClient.searchTestSets, and returns the result as formatted JSON text content.case 'search_test_sets': { const result = await xrayClient.searchTestSets( args.jql as string, args.maxResults as number | undefined ); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
- src/index.ts:427-445 (registration)Registration of the 'search_test_sets' tool in the MCP tools list, including name, description, and input schema.{ name: 'search_test_sets', description: 'Search for test sets using JQL (Jira Query Language)', inputSchema: { type: 'object', properties: { jql: { type: 'string', description: 'JQL query to search test sets', }, maxResults: { type: 'number', description: 'Maximum number of results to return', default: 50, }, }, required: ['jql'], }, },
- src/index.ts:430-444 (schema)Input schema definition for the 'search_test_sets' tool, specifying JQL (required) and optional maxResults.inputSchema: { type: 'object', properties: { jql: { type: 'string', description: 'JQL query to search test sets', }, maxResults: { type: 'number', description: 'Maximum number of results to return', default: 50, }, }, required: ['jql'], },
- src/xray-client.ts:872-902 (helper)Core helper method in XrayClient that executes GraphQL query to search test sets by JQL, returning paginated results with issue details and limited tests.async searchTestSets(jql: string, maxResults: number = 50): Promise<any> { const query = ` query SearchTestSets($jql: String!, $limit: Int!) { getTestSets(jql: $jql, limit: $limit) { total start limit results { issueId projectId jira(fields: ["key", "summary", "description", "status", "created", "updated"]) tests(limit: 10) { total results { issueId jira(fields: ["key", "summary"]) } } } } } `; const variables = { jql, limit: maxResults }; const result = await this.graphqlRequest<{ getTestSets: any }>(query, variables); return result.getTestSets; }