close_ticket
Close support tickets by setting their status to closed using the ticket ID. This action resolves ticket management tasks in the FitSlot system.
Instructions
Close a ticket by setting its status to closed
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ticketId | Yes |
Implementation Reference
- src/tools/ticket.tools.ts:281-331 (handler)Execute handler for the close_ticket tool. Validates ticketId, calls apiService.updateTicket to set status to CLOSED, and returns success/error response.execute: async (args: { ticketId: string }) => { try { logger.info('Closing ticket', args); validateNotEmpty(args.ticketId, 'Ticket ID'); const ticket = await apiService.updateTicket({ id: args.ticketId, status: TicketStatus.CLOSED }); return { content: [ { type: 'text', text: JSON.stringify( { success: true, message: 'Ticket closed successfully', ticket: { id: ticket.id, status: ticket.status, updatedAt: ticket.updatedAt } }, null, 2 ) } ] }; } catch (error) { logger.error('Failed to close ticket', error); return { content: [ { type: 'text', text: JSON.stringify( { success: false, error: error instanceof Error ? error.message : 'Unknown error' }, null, 2 ) } ], isError: true }; } }
- src/tools/ticket.tools.ts:276-280 (schema)Tool definition including description and Zod input schema for close_ticket.close_ticket: { description: 'Close a ticket by setting its status to closed', parameters: z.object({ ticketId: z.string().describe('ID of the ticket to close') }),
- src/index.ts:60-68 (registration)Instantiation of ticketTools (which includes close_ticket) and merging into allTools object used by MCP server request handlers.const ticketTools = createTicketTools(apiService); const chatbotTools = createChatbotTools(chatbotService); const pdfTools = createPDFTools(pdfService); const allTools = { ...ticketTools, ...chatbotTools, ...pdfTools };