get_launch_details
Retrieve comprehensive launch data including test sessions and execution details from Zebrunner reporting API for test analysis and reporting.
Instructions
🚀 Get comprehensive launch details including test sessions (uses new reporting API with enhanced authentication)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output format | json |
| includeLaunchDetails | No | Include detailed launch information | |
| includeTestSessions | No | Include test sessions data | |
| launchId | Yes | Launch ID (e.g., 118685) | |
| projectId | No | Project ID (e.g., 7) - alternative to projectKey | |
| projectKey | No | Project key (e.g., 'android' or 'ANDROID') - alternative to projectId |
Implementation Reference
- src/server-with-reporting.ts:150-162 (registration)Registration of the MCP tool 'get_launch_details'. Defines input schema inline and delegates execution to the reportingHandlers.getLauncherDetails method.server.tool( "get_launch_details", "🚀 Get comprehensive launch details including test sessions (uses new reporting API with enhanced authentication)", { projectKey: z.string().min(1).optional().describe("Project key (e.g., 'android' or 'ANDROID') - alternative to projectId"), projectId: z.number().int().positive().optional().describe("Project ID (e.g., 7) - alternative to projectKey"), launchId: z.number().int().positive().describe("Launch ID (e.g., 118685)"), includeLaunchDetails: z.boolean().default(true).describe("Include detailed launch information"), includeTestSessions: z.boolean().default(true).describe("Include test sessions data"), format: z.enum(['dto', 'json', 'string']).default('json').describe("Output format") }, async (args) => reportingHandlers.getLauncherDetails(args) );
- src/types/api.ts:119-126 (schema)Zod schema definition for GetLauncherDetailsInputSchema used by the get_launch_details tool (imported in server-with-reporting.ts but schema redefined inline).export const GetLauncherDetailsInputSchema = z.object({ projectKey: z.string().min(1).optional(), projectId: z.number().int().positive().optional(), launchId: z.number().int().positive(), includeLaunchDetails: z.boolean().default(true), includeTestSessions: z.boolean().default(true), format: z.enum(['dto', 'json', 'string']).default('json') });
- src/api/reporting-client.ts:210-218 (helper)API client method getLaunch() retrieves core launch details by ID and project ID, fundamental to the get_launch_details tool implementation.async getLaunch(launchId: number, projectId: number): Promise<LaunchResponse> { const url = `/api/reporting/v1/launches/${launchId}?projectId=${projectId}`; const response = await this.makeAuthenticatedRequest<any>('GET', url); // Extract the actual launch data from the nested response const launchData = response.data || response; return LaunchResponseSchema.parse(launchData); }
- src/api/reporting-client.ts:319-327 (helper)API client method getTestSessions() retrieves test sessions for a launch, used to fulfill the includeTestSessions option in get_launch_details tool.async getTestSessions(launchId: number, projectId: number): Promise<TestSessionsResponse> { const url = `/api/reporting/v1/launches/${launchId}/test-sessions?projectId=${projectId}`; const response = await this.makeAuthenticatedRequest<any>('GET', url); // Handle different response structures const sessionsData = response.data || response; return TestSessionsResponseSchema.parse(sessionsData); }