Feat/mcp enhancements and browse fix - #286
Conversation
… reviewer handling\n\n- Add httpclient.GetRaw and CurrentUserSlug methods\n- Fix browse raw/file commands: bypass OpenAPI client URL-encoding of '/'\n in file paths by using httpclient.GetRaw directly\n- Add MCP tools: get_pr_diff, get_file_content\n- Enhance MCP list_pull_requests: dashboard mode, role filter, validate\n that both project and repo are provided (or neither for dashboard)\n- Enhance MCP add_pr_comment: inline comments (path/line) and replies\n (parent_id)\n- Enhance MCP submit_pr_review: add needs_work action\n- Add PR service methods: NeedsWork, AddComment, AddInlineComment\n- Replace resolveCurrentUserSlug temp-comment hack with X-AUSERNAME\n response header (zero side effects, single API call)\n- Use reviewers field with participants fallback for PR reviewer data\n (tested on Bitbucket Data Center 9.4.16 where participants is always\n empty); keep role==author filter as safety net\n- Remove unnecessary withAttributes=true query parameter from PR Get\n- Add bb.exe to .gitignore
|
Thanks for this — genuinely useful contribution. The I've reviewed the branch locally: it builds, Needs fixing:
Smaller things, take or leave:
Happy either way on who does the work — if you'd like to push the fixes yourself that's great, or if you'd rather hand it off, say so and we'll take it from here and get it landed with credit to you. No rush either way. One logistical note: the PR is opened from your fork's |
Summary
httpclient.GetRawandCurrentUserSlugmethods (useX-AUSERNAMEresponse header instead of temp-comment hack)/in file pathsget_pr_diff,get_file_contentlist_pull_requests: dashboard mode, role filter, validate project/repo paramsadd_pr_comment: inline comments (path/line) and replies (parent_id)submit_pr_review: addneeds_workactionNeedsWork,AddComment,AddInlineCommentreviewersfield withparticipantsfallback for PR reviewer data (tested on Bitbucket Data Center 9.4.16 whereparticipantsis always empty)withAttributes=truequery parameter from PR Getbb.exeto.gitignore