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
JavaScript
/**
* 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" })');