[Sprint 5] fix: Add milestone parameter to update_issue MCP tool #269

Closed
opened 2026-01-28 19:19:15 +00:00 by lmiranda · 0 comments
Owner

Summary

The update_issue MCP tool in the Gitea MCP server is missing the milestone parameter, preventing programmatic milestone assignment during sprint planning.

Current Behavior

The update_issue tool only supports:

  • issue_number (required)
  • title
  • body
  • state
  • labels

Expected Behavior

Add milestone parameter to allow assigning/changing issue milestones:

  • Accept milestone ID (integer)
  • Accept null to remove milestone assignment

Implementation

File: mcp-servers/gitea/mcp_server/tools/issues.py

Add milestone parameter to update_issue function and include in API call payload.

@mcp.tool()
async def update_issue(
    issue_number: int,
    title: str = None,
    body: str = None,
    state: str = None,
    labels: list[str] = None,
    milestone: int = None,  # ADD THIS
    repo: str = None
) -> dict:

Acceptance Criteria

  • Add milestone parameter to update_issue tool
  • Update tool description to document new parameter
  • Test milestone assignment works correctly
  • Test milestone removal (passing null/0)

Context

Discovered during Sprint 5 planning when trying to assign issues to milestone programmatically.

Wiki Reference

Implementation: Change V5.2.0 (Sprint 5)

## Summary The `update_issue` MCP tool in the Gitea MCP server is missing the `milestone` parameter, preventing programmatic milestone assignment during sprint planning. ## Current Behavior The `update_issue` tool only supports: - `issue_number` (required) - `title` - `body` - `state` - `labels` ## Expected Behavior Add `milestone` parameter to allow assigning/changing issue milestones: - Accept milestone ID (integer) - Accept `null` to remove milestone assignment ## Implementation **File:** `mcp-servers/gitea/mcp_server/tools/issues.py` Add milestone parameter to `update_issue` function and include in API call payload. ```python @mcp.tool() async def update_issue( issue_number: int, title: str = None, body: str = None, state: str = None, labels: list[str] = None, milestone: int = None, # ADD THIS repo: str = None ) -> dict: ``` ## Acceptance Criteria - [ ] Add `milestone` parameter to `update_issue` tool - [ ] Update tool description to document new parameter - [ ] Test milestone assignment works correctly - [ ] Test milestone removal (passing null/0) ## Context Discovered during Sprint 5 planning when trying to assign issues to milestone programmatically. ## Wiki Reference Implementation: [Change V5.2.0 (Sprint 5)](https://gitea.hotserv.cloud/personal-projects/leo-claude-mktplace/wiki/Change-V5.2.0%3A-Plugin-Enhancements-%28Sprint-5-Documentation%29)
lmiranda added this to the Sprint 5 - Documentation milestone 2026-01-28 19:19:33 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: personal-projects/leo-claude-mktplace#269