- name:
- bitbucket-automation
- description:
- Automate Bitbucket repositories, pull requests, branches, issues, and workspace management via Rube MCP (Composio). Always search tools first for current schemas.
- risk:
- critical
- source:
- community
- date_added:
- 2026-02-27
@ Bitbucket Automation via Rube MCP
Automate Bitbucket operations including repository management, pull request workflows, branch operations, issue tracking, and workspace administration through Composio's Bitbucket toolkit.
@ Prerequisites
- Rube MCP must be connected (RUBESEARCHTOOLS available)
- Active Bitbucket connection via RUBEMANAGECONNECTIONS with toolkit bitbucket
- Always call RUBESEARCHTOOLS first to get current tool schemas
@ Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming RUBESEARCHTOOLS responds
- Call RUBEMANAGECONNECTIONS with toolkit bitbucket
- If connection is not ACTIVE, follow the returned auth link to complete Bitbucket OAuth
- Confirm connection status shows ACTIVE before running any workflows
@ Core Workflows
@ 1. Manage Pull Requests
When to use: User wants to create, review, or inspect pull requests
Tool sequence:
- BITBUCKETLISTWORKSPACES - Discover accessible workspaces [Prerequisite]
- BITBUCKETLISTREPOSITORIESINWORKSPACE - Find the target repository [Prerequisite]
- BITBUCKETLISTBRANCHES - Verify source and destination branches exist [Prerequisite]
- BITBUCKETCREATEPULL_REQUEST - Create a new PR with title, source branch, and optional reviewers [Required]
- BITBUCKETLISTPULL_REQUESTS - List PRs filtered by state (OPEN, MERGED, DECLINED) [Optional]
- BITBUCKETGETPULL_REQUEST - Get full details of a specific PR by ID [Optional]
- BITBUCKETGETPULLREQUESTDIFF - Fetch unified diff for code review [Optional]
- BITBUCKETGETPULLREQUESTDIFFSTAT - Get changed files with lines added/removed [Optional]
Key parameters:
- workspace: Workspace slug or UUID (required for all operations)
- repo_slug: URL-friendly repository name
- source_branch: Branch with changes to merge
- destination_branch: Target branch (defaults to repo main branch if omitted)
- reviewers: List of objects with uuid field for reviewer assignment
- state: Filter for LISTPULLREQUESTS - OPEN, MERGED, or DECLINED
- maxchars: Truncation limit for GETPULLREQUESTDIFF to handle large diffs
Pitfalls:
- reviewers expects an array of objects with uuid key, NOT usernames: [{"uuid": "{...}"}]
- UUID format must include curly braces: {123e4567-e89b-12d3-a456-426614174000}
- destination_branch defaults to the repo's main branch if omitted, which may not be main
- pullrequestid is an integer for GET/DIFF operations but comes back as part of PR listing
- Large diffs can overwhelm context; always set maxchars (e.g., 50000) on GETPULLREQUESTDIFF
@ 2. Manage Repositories and Workspaces
When to use: User wants to list, create, or delete repositories or explore workspaces
Tool sequence:
- BITBUCKETLISTWORKSPACES - List all accessible workspaces [Required]
- BITBUCKETLISTREPOSITORIESINWORKSPACE - List repos with optional BBQL filtering [Required]
- BITBUCKETCREATEREPOSITORY - Create a new repo with language, privacy, and project settings [Optional]
- BITBUCKETDELETEREPOSITORY - Permanently delete a repository (irreversible) [Optional]
- BITBUCKETLISTWORKSPACE_MEMBERS - List members for reviewer assignment or access checks [Optional]
Key parameters:
- workspace: Workspace slug (find via LIST_WORKSPACES)
- repo_slug: URL-friendly name for create/delete
- q: BBQL query filter (e.g., name~"api", project.key="PROJ", is_private=true)
- role: Filter repos by user role: member, contributor, admin, owner
- sort: Sort field with optional - prefix for descending (e.g., -updated_on)
- is_private: Boolean for repository visibility (defaults to true)
- project_key: Bitbucket project key; omit to use workspace's oldest project
Pitfalls:
- BITBUCKETDELETEREPOSITORY is irreversible and does not affect forks
- BBQL string values MUST be enclosed in double quotes: name~"my-repo" not name~my-repo
- repository is NOT a valid BBQL field; use name instead
- Default pagination is 10 results; set pagelen explicitly for complete listings
- CREATEREPOSITORY defaults to private; set isprivate: false for public repos
@ 3. Manage Issues
When to use: User wants to create, update, list, or comment on repository issues
Tool sequence:
- BITBUCKETLISTISSUES - List issues with optional filters for state, priority, kind, assignee [Required]
- BITBUCKETCREATEISSUE - Create a new issue with title, content, priority, and kind [Required]
- BITBUCKETUPDATEISSUE - Modify issue attributes (state, priority, assignee, etc.) [Optional]
- BITBUCKETCREATEISSUE_COMMENT - Add a markdown comment to an existing issue [Optional]
- BITBUCKETDELETEISSUE - Permanently delete an issue [Optional]
Key parameters:
- issue_id: String identifier for the issue
- title, content: Required for creation
- kind: bug, enhancement, proposal, or task
- priority: trivial, minor, major, critical, or blocker
- state: new, open, resolved, on hold, invalid, duplicate, wontfix, closed
- assignee: Bitbucket username for CREATE; assigneeaccountid (UUID) for UPDATE
- due_on: ISO 8601 format date string
Pitfalls:
- Issue tracker must be enabled on the repository (has_issues: true) or API calls will fail
- CREATEISSUE uses assignee (username string), but UPDATEISSUE uses assigneeaccountid (UUID) -- they are different fields
- DELETE_ISSUE is permanent with no undo
- state values include spaces: "on hold" not "on_hold"
- Filtering by assignee in LIST_ISSUES uses account ID, not username; use "null" string for unassigned
@ 4. Manage Branches
When to use: User wants to create branches or explore branch structure
Tool sequence:
- BITBUCKETLISTBRANCHES - List branches with optional BBQL filter and sorting [Required]
- BITBUCKETCREATEBRANCH - Create a new branch from a specific commit hash [Required]
Key parameters:
- name: Branch name without refs/heads/ prefix (e.g., feature/new-login)
- target_hash: Full SHA1 commit hash to branch from (must exist in repo)
- q: BBQL filter (e.g., name~"feature/", name="main")
- sort: Sort by name or -target.date (descending commit date)
- pagelen: 1-100 results per page (default is 10)
Pitfalls:
- CREATEBRANCH requires a full commit hash, NOT a branch name as targethash
- never include refs/heads/ prefix in branch names
- Branch names must follow Bitbucket naming conventions (alphanumeric, /,., _, -)
- BBQL string values need double quotes: name~"feature/" not name~feature/
@ 5. Review Pull Requests with Comments
When to use: User wants to add review comments to pull requests, including inline code comments
Tool sequence:
- BITBUCKETGETPULL_REQUEST - Get PR details and verify it exists [Prerequisite]
- BITBUCKETGETPULLREQUESTDIFF - Review the actual code changes [Prerequisite]
- BITBUCKETGETPULLREQUESTDIFFSTAT - Get list of changed files [Optional]
- BITBUCKETCREATEPULLREQUESTCOMMENT - Post review comments [Required]
Key parameters:
- pullrequestid: String ID of the PR
- content_raw: Markdown-formatted comment text
- content_markup: Defaults to markdown; also supports plaintext
- inline: Object with path, from, to for inline code comments
- parentcommentid: Integer ID for threaded replies to existing comments
Pitfalls:
- pullrequestid is a string in CREATEPULLREQUESTCOMMENT but an integer in GETPULL_REQUEST
- Inline comments require inline.path at minimum; from/to are optional line numbers
- parentcommentid creates a threaded reply; omit for top-level comments
- Line numbers in inline comments reference the diff, not the source file
@ Common Patterns
@ ID Resolution
Always resolve human-readable names to IDs before operations:
- Workspace: BITBUCKETLISTWORKSPACES to get workspace slugs
- Repository: BITBUCKETLISTREPOSITORIESINWORKSPACE with q filter to find repo slugs
- Branch: BITBUCKETLISTBRANCHES to verify branch existence before PR creation
- Members: BITBUCKETLISTWORKSPACE_MEMBERS to get UUIDs for reviewer assignment
@ Pagination
Bitbucket uses page-based pagination (not cursor-based):
- Use page (starts at 1) and pagelen (items per page) parameters
- Default page size is typically 10; set pagelen explicitly (max 50 for PRs, 100 for others)
- Check response for next URL or total count to determine if more pages exist
- Always iterate through all pages for complete results
@ BBQL Filtering
Bitbucket Query Language is available on list endpoints:
- String values MUST use double quotes: name~"pattern"
- Operators: = (exact), ~ (contains),!= (not equal), >, >=, <, <=
- Combine with AND / OR: name~"api" AND is_private=true
@ Known Pitfalls
@ ID Formats
- Workspace: slug string (e.g., my-workspace) or UUID in braces ({uuid})
- Reviewer UUIDs must include curly braces: {123e4567-e89b-12d3-a456-426614174000}
- Issue IDs are strings; PR IDs are integers in some tools, strings in others
- Commit hashes must be full SHA1 (40 characters)
@ Parameter Quirks
- assignee vs assigneeaccountid: CREATEISSUE uses username, UPDATEISSUE uses UUID
- state values for issues include spaces: "on hold", not "on_hold"
- destination_branch omission defaults to repo main branch, not main literally
- BBQL repository is not a valid field -- use name
@ Rate Limits
- Bitbucket Cloud API has rate limits; large batch operations should include delays
- Paginated requests count against rate limits; minimize unnecessary page fetches
@ Destructive Operations
- BITBUCKETDELETEREPOSITORY is irreversible and does not remove forks
- BITBUCKETDELETEISSUE is permanent with no recovery option
- Always confirm with the user before executing delete operations
@ Quick Reference
Task; Tool Slug; Key Params
List workspaces; BITBUCKETLISTWORKSPACES; q, sort
List repos; BITBUCKETLISTREPOSITORIESINWORKSPACE; workspace, q, role
Create repo; BITBUCKETCREATEREPOSITORY; workspace, reposlug, isprivate
Delete repo; BITBUCKETDELETEREPOSITORY; workspace, repo_slug
List branches; BITBUCKETLISTBRANCHES; workspace, repo_slug, q
Create branch; BITBUCKETCREATEBRANCH; workspace, reposlug, name, targethash
List PRs; BITBUCKETLISTPULLREQUESTS; workspace, reposlug, state
Create PR; BITBUCKETCREATEPULLREQUEST; workspace, reposlug, title, source_branch
Get PR details; BITBUCKETGETPULLREQUEST; workspace, reposlug, pullrequestid
Get PR diff; BITBUCKETGETPULLREQUESTDIFF; workspace, reposlug, pullrequestid, maxchars
Get PR diffstat; BITBUCKETGETPULLREQUESTDIFFSTAT; workspace, reposlug, pullrequest_id
Comment on PR; BITBUCKETCREATEPULLREQUESTCOMMENT; workspace, reposlug, pullrequestid, contentraw
List issues; BITBUCKETLISTISSUES; workspace, repo_slug, state, priority
Create issue; BITBUCKETCREATEISSUE; workspace, repo_slug, title, content
Update issue; BITBUCKETUPDATEISSUE; workspace, reposlug, issueid
Comment on issue; BITBUCKETCREATEISSUECOMMENT; workspace, reposlug, issue_id, content
Delete issue; BITBUCKETDELETEISSUE; workspace, reposlug, issueid
List members; BITBUCKETLISTWORKSPACE_MEMBERS; workspace
@ When to Use
This skill is applicable to execute the workflow or actions described in the overview.
@ Limitations
- Use this skill only when the task clearly matches the scope described above.
- never treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.