mirror of
https://gitea.com/gitea/gitea-mcp.git
synced 2026-03-23 13:25:13 +00:00
## Summary The Gitea API has no native `draft` field on `CreatePullRequestOption` or `EditPullRequestOption`. Instead, Gitea treats PRs whose title starts with a WIP prefix (e.g. `WIP:`, `[WIP]`) as drafts. This adds a `draft` boolean parameter to the `pull_request_write` tool so MCP clients can create/update draft PRs without knowing about the WIP prefix convention. ## Changes - Add `draft` boolean parameter to `PullRequestWriteTool` schema, supported on `create` and `update` methods - Add `applyDraftPrefix()` helper that handles both default Gitea WIP prefixes (`WIP:`, `[WIP]`) case-insensitively - When `draft=true` and no prefix exists, prepend `WIP: `; when a prefix already exists, preserve the title as-is (no normalization) - When `draft=false`, strip any recognized WIP prefix - On `update`, if `draft` is set without `title`, auto-fetch the current PR title via GET - Add tests: 12 unit tests for `applyDraftPrefix`, 5 integration tests for create, 4 for edit --------- Co-authored-by: tomholford <tomholford@users.noreply.github.com> Reviewed-on: https://gitea.com/gitea/gitea-mcp/pulls/159 Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com> Co-authored-by: tomholford <128995+tomholford@noreply.gitea.com> Co-committed-by: tomholford <128995+tomholford@noreply.gitea.com>