See Gogs API documentation for milestones endpoints.
## Description
Add support for Gogs Milestones functionality to the MCP server.
## Why This Feature?
Essential for project management - allows grouping issues and tracking progress towards specific goals.
## Requirements
- Implement `list_milestones` tool
- Implement `get_milestone` tool
- Implement `create_milestone` tool
- Implement `update_milestone` tool
- Implement `delete_milestone` tool
- Add proper TypeScript types for Milestone objects
- Update documentation with usage examples
## Related
Requested by @fszontagh in #4
## API Reference
See Gogs API documentation for milestones endpoints.
@fszontagh I'm starting work on this issue now! I'll implement the complete Milestones support including:
list_milestones tool
get_milestone tool
create_milestone tool
update_milestone tool
delete_milestone tool
TypeScript types (already exist)
MCP server integration
Documentation updates
I'll follow the same patterns used for labels and other resources in the codebase.
@fszontagh I'm starting work on this issue now! I'll implement the complete Milestones support including:
- list_milestones tool
- get_milestone tool
- create_milestone tool
- update_milestone tool
- delete_milestone tool
- TypeScript types (already exist)
- MCP server integration
- Documentation updates
I'll follow the same patterns used for labels and other resources in the codebase.
The implementation follows the same patterns used for labels and other resources. All milestone endpoints use the Gogs API v1 milestone endpoints.
@fszontagh The milestone support is now ready for use! 🎉
✅ **Milestone support has been fully implemented!**
## What was done:
### Code Implementation
- ✅ Added 5 milestone CRUD methods to `GogsClient` class:
- `listMilestones(owner, repo)` - List all milestones
- `getMilestone(owner, repo, milestoneId)` - Get specific milestone
- `createMilestone(owner, repo, data)` - Create new milestone
- `updateMilestone(owner, repo, milestoneId, data)` - Update existing milestone
- `deleteMilestone(owner, repo, milestoneId)` - Delete milestone
- ✅ Added Zod schemas for parameter validation
- ✅ Added 5 new MCP tools to the server
- ✅ Added tool handlers in CallToolRequestSchema
- ✅ TypeScript types (`GogsMilestone`) were already present in types.ts
### Documentation
- ✅ Updated README.md with milestone management section and all tool parameters
- ✅ Updated CLAUDE.md with milestone tool category
- ✅ Build tested successfully with `npm run build`
### Commit
- ✅ Committed changes with reference to #5
- ✅ Pushed to main branch
## Available Tools:
1. **list_milestones** - List all milestones in a repository
2. **get_milestone** - Get a specific milestone by ID
3. **create_milestone** - Create a new milestone with title, description, and optional due date
4. **update_milestone** - Update milestone details including state (open/closed)
5. **delete_milestone** - Delete a milestone from the repository
## Usage Example:
```json
{
"tool": "create_milestone",
"arguments": {
"owner": "claude",
"repo": "gogs-mcp",
"title": "v1.1.0 Release",
"description": "Milestone management features",
"due_on": "2025-12-31T23:59:59Z"
}
}
```
The implementation follows the same patterns used for labels and other resources. All milestone endpoints use the Gogs API v1 milestone endpoints.
@fszontagh The milestone support is now ready for use! 🎉
Description
Add support for Gogs Milestones functionality to the MCP server.
Why This Feature?
Essential for project management - allows grouping issues and tracking progress towards specific goals.
Requirements
list_milestonestoolget_milestonetoolcreate_milestonetoolupdate_milestonetooldelete_milestonetoolRelated
Requested by @fszontagh in #4
API Reference
See Gogs API documentation for milestones endpoints.
@fszontagh I'm starting work on this issue now! I'll implement the complete Milestones support including:
I'll follow the same patterns used for labels and other resources in the codebase.
✅ Milestone support has been fully implemented!
What was done:
Code Implementation
✅ Added 5 milestone CRUD methods to
GogsClientclass:listMilestones(owner, repo)- List all milestonesgetMilestone(owner, repo, milestoneId)- Get specific milestonecreateMilestone(owner, repo, data)- Create new milestoneupdateMilestone(owner, repo, milestoneId, data)- Update existing milestonedeleteMilestone(owner, repo, milestoneId)- Delete milestone✅ Added Zod schemas for parameter validation
✅ Added 5 new MCP tools to the server
✅ Added tool handlers in CallToolRequestSchema
✅ TypeScript types (
GogsMilestone) were already present in types.tsDocumentation
npm run buildCommit
Available Tools:
Usage Example:
The implementation follows the same patterns used for labels and other resources. All milestone endpoints use the Gogs API v1 milestone endpoints.
@fszontagh The milestone support is now ready for use! 🎉
📊 Implementation Summary
All requirements from the issue have been completed:
list_milestonestoolget_milestonetoolcreate_milestonetoolupdate_milestonetooldelete_milestonetoolCommit:
216ee49- feat: add milestone management support #5Files Changed:
src/gogs-client.ts- Added 5 milestone methods (+64 lines)src/server.ts- Added schemas and handlers (+240 lines)README.md- Added milestone documentation (+44 lines)CLAUDE.md- Updated tool categories (+1 line)Total: 349 additions across 4 files
The implementation is complete, tested, documented, and pushed to main. Ready for use! 🚀