get_launch_details
Retrieve comprehensive launch details and test session data from Zebrunner Test Case Management for 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 |
|---|---|---|---|
| projectKey | No | Project key (e.g., 'android' or 'ANDROID') - alternative to projectId | |
| projectId | No | Project ID (e.g., 7) - alternative to projectKey | |
| launchId | Yes | Launch ID (e.g., 118685) | |
| includeLaunchDetails | No | Include detailed launch information | |
| includeTestSessions | No | Include test sessions data | |
| format | No | Output format | json |
Implementation Reference
- src/server-with-reporting.ts:149-161 (registration)MCP tool registration for 'get_launch_details'. Defines input schema inline and handler that delegates to reportingHandlers.getLauncherDetails(args). This is the entry point where the tool is made available via MCP server.tool().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 GetLauncherDetailsInput used by the get_launch_details tool (imported in server-with-reporting.ts but schema redefined inline in registration).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)ZebrunnerReportingClient.getLaunch(): Core API method to fetch launch details, likely called within the tool handler reportingHandlers.getLauncherDetails().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)ZebrunnerReportingClient.getTestSessions(): Fetches test sessions for a launch, supporting the includeTestSessions parameter in the 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); }