search_test_sets
Search for test sets in Xray using JQL queries to find specific test collections for quality assurance and test management workflows.
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 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:430-444 (schema)Input schema definition for the 'search_test_sets' tool, specifying required JQL query 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/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/xray-client.ts:872-902 (helper)Core implementation of searchTestSets in XrayClient: executes GraphQL query to search test sets by JQL, returning paginated results with details.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; }