waroom_create_postmortem
Generate detailed postmortems by analyzing incidents, documenting findings, and tracking status updates on Waroom MCP. Input titles, analysis, and incident UUIDs for structured reporting.
Instructions
ポストモーテムを作成します。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| blob | Yes | ポストモーテムの内容(詳細な分析や対策を記述) | |
| incident_uuids | Yes | 関連するインシデントのUUID配列(最低1つ必要) | |
| status | No | ポストモーテムのステータス(draft, published, archived) | |
| title | Yes | ポストモーテムのタイトル(1-255文字) |
Implementation Reference
- src/tools/postmortems.ts:45-67 (handler)The MCP tool handler for 'waroom_create_postmortem'. It extracts parameters, calls WaroomClient.createPostmortem, and returns JSON response or error message.async (params) => { try { const response = await waroomClient.createPostmortem( params.title, params.blob, params.incident_uuids, params.status ); return { content: [{ type: 'text', text: JSON.stringify(response, null, 2) }] }; } catch (error) { return { content: [{ type: 'text', text: `ポストモーテムの作成に失敗しました: ${error}` }] }; } }
- src/tools/postmortems.ts:39-44 (schema)Zod schema defining input parameters for the waroom_create_postmortem tool.{ title: z.string().min(1).max(255).describe('ポストモーテムのタイトル(1-255文字)'), blob: z.string().min(1).describe('ポストモーテムの内容(詳細な分析や対策を記述)'), incident_uuids: z.array(z.string().uuid()).min(1).describe('関連するインシデントのUUID配列(最低1つ必要)'), status: z.enum(['draft', 'published', 'archived']).optional().describe('ポストモーテムのステータス(draft, published, archived)'), },
- src/tools/postmortems.ts:36-68 (registration)Registration of the waroom_create_postmortem tool with MCP server.tool, including name, description, schema, and handler.server.tool( 'waroom_create_postmortem', 'ポストモーテムを作成します。', { title: z.string().min(1).max(255).describe('ポストモーテムのタイトル(1-255文字)'), blob: z.string().min(1).describe('ポストモーテムの内容(詳細な分析や対策を記述)'), incident_uuids: z.array(z.string().uuid()).min(1).describe('関連するインシデントのUUID配列(最低1つ必要)'), status: z.enum(['draft', 'published', 'archived']).optional().describe('ポストモーテムのステータス(draft, published, archived)'), }, async (params) => { try { const response = await waroomClient.createPostmortem( params.title, params.blob, params.incident_uuids, params.status ); return { content: [{ type: 'text', text: JSON.stringify(response, null, 2) }] }; } catch (error) { return { content: [{ type: 'text', text: `ポストモーテムの作成に失敗しました: ${error}` }] }; } } );
- src/WaroomClient.ts:65-77 (helper)WaroomClient helper method that performs the actual HTTP POST request to create a postmortem via the Waroom API.async createPostmortem(title: string, blob: string, incidentUuids: string[], status?: string) { try { const response = await this.axiosInstance.post(`${this.baseUrl}/postmortems`, { title, blob, incident_uuids: incidentUuids, status }); return response.data; } catch (error) { throw new Error(`Failed to create postmortem: ${error}`); } }
- src/main.ts:27-27 (registration)Top-level call to register all postmortems tools, including waroom_create_postmortem, to the MCP server.createPostmortemsTools(server, waroomClient);