UNPKG

taiga-mcp-server

Version:

Full-featured MCP server for Taiga project management with advanced sprint and issue tracking. Based on mcpTAIGA by adriapedralbes, enhanced with substantial modifications. Developed collaboratively with Claude Code (AI-assisted development).

112 lines (102 loc) โ€ข 4.23 kB
/** * Enhanced getMilestone Tool Test * * This test demonstrates the improved getMilestone tool that now returns * comprehensive sprint information including: * - Complete basic information (ID, slug, status, order, project details) * - Full timeline (start/end dates, created/modified timestamps) * - Detailed metrics (total/closed points, user stories count) * - Team information (owner, watchers, available roles) * - Description and complete user stories list * - Raw JSON data for programmatic access */ import { getMilestoneTool } from '../src/tools/sprintTools.js'; import dotenv from 'dotenv'; dotenv.config(); console.log('๐Ÿงช Enhanced getMilestone Tool Test\n'); // Mock milestone data that mimics Taiga API response const mockMilestoneData = { id: 12345, name: 'Sprint 2024-Q1', slug: 'sprint-2024-q1', project: 67890, project_extra_info: { name: 'My Awesome Project', slug: 'my-awesome-project' }, estimated_start: '2024-01-01', estimated_finish: '2024-03-31', created_date: '2023-12-15T10:30:00Z', modified_date: '2024-01-10T14:45:00Z', closed: false, order: 1, total_points: 50.0, closed_points: 30.0, owner_extra_info: { full_name_display: 'John Doe', username: 'johndoe' }, watchers: [101, 102, 103], available_roles: ['Developer', 'QA', 'Product Owner'], description: 'This is our Q1 2024 sprint focusing on user authentication and dashboard improvements.', user_stories: [ { id: 1001, ref: 42, subject: 'User authentication system', status_extra_info: { name: 'In Progress' } }, { id: 1002, ref: 43, subject: 'Dashboard redesign', status_extra_info: { name: 'Ready for Test' } }, { id: 1003, ref: 44, subject: 'Performance optimization', status_extra_info: { name: 'New' } } ], permalink: 'https://taiga.io/project/my-awesome-project/taskboard/sprint-2024-q1' }; console.log('๐Ÿ“‹ Testing Enhanced getMilestone Response Format:\n'); console.log('The enhanced tool now provides:'); console.log('โœ… Basic Information (ID, slug, project, status, order)'); console.log('โœ… Complete Timeline (start/end dates, created/modified timestamps)'); console.log('โœ… Detailed Metrics (total/closed points, user stories count)'); console.log('โœ… Team Information (owner, watchers, available roles)'); console.log('โœ… Full Description'); console.log('โœ… User Stories List with status details'); console.log('โœ… Permalink for direct access'); console.log('โœ… Complete Raw JSON Data for programmatic use\n'); console.log('๐Ÿ“ฆ Sample Milestone Data Structure:'); console.log(`{ id: ${mockMilestoneData.id}, name: "${mockMilestoneData.name}", slug: "${mockMilestoneData.slug}", project: ${mockMilestoneData.project}, total_points: ${mockMilestoneData.total_points}, closed_points: ${mockMilestoneData.closed_points}, user_stories: [${mockMilestoneData.user_stories.length} stories], owner: "${mockMilestoneData.owner_extra_info.full_name_display}", watchers: [${mockMilestoneData.watchers.length} watchers], available_roles: [${mockMilestoneData.available_roles.length} roles], ...and more fields }\n`); console.log('๐ŸŽฏ Key Improvements:'); console.log('1. Previously: Only returned 7 basic fields'); console.log('2. Now: Returns 15+ structured fields plus full JSON data'); console.log('3. User Stories: Previously just count, now full list with details'); console.log('4. Team Info: Added owner, watchers, and roles information'); console.log('5. Timeline: Added created/modified dates for change tracking'); console.log('6. Raw Data: Complete JSON for advanced programmatic analysis\n'); console.log('๐Ÿ’ก Use Cases:'); console.log('- Sprint progress analysis with detailed metrics'); console.log('- Team workload distribution via watchers and owner'); console.log('- User story tracking with status information'); console.log('- Change history analysis via created/modified dates'); console.log('- Automated reporting with complete JSON data\n'); console.log('โœ… Enhanced getMilestone tool is ready for comprehensive sprint analysis!'); console.log('๐Ÿš€ Try it with: await getMilestone({ milestoneId: "12345" })');