Work with Bitbucket from chat — browse repositories, inspect files, manage branches, review pull requests, and coordinate repository workflows via the Bitbucket Cloud API with OAuth authentication.
This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Bitbucket API access yourself.
Step 1: InstallStep 2: Pair AccountStep 3: Connect Bitbucket
_App-specific connection GIF coming soon_Run the install command in OpenClawSign in and approve the deviceOpen the dashboard and connect Bitbucket
text
┌─────────────────┐ ┌──────────────┐ ┌──────────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Bitbucket Cloud API │
│ (User Chat) │ │ (OAuth) │ │ (Repos/PRs/Branches)│
└─────────────────┘ └──────────────┘ └──────────────────────┘
│ │ │
│ 1. Install Plugin │ │
│ 2. Pair Device │ │
│ 3. Connect Bitbucket │ │
│ │ 4. Secure Token │
│ │ 5. Proxy Requests │
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SKILL │ │ Dashboard│ │ Bitbucket│
│ File │ │ Auth │ │ Cloud │
└──────────┘ └──────────┘ └──────────┘
Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
bash
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Bitbucket again."
bash
# List repositories in a workspace
clawlink_call_tool --tool "bitbucket_list_repositories_in_workspace" --params '{"workspace": "your-workspace"}'
# List branches in a repository
clawlink_call_tool --tool "bitbucket_list_branches" --params '{"workspace": "your-workspace", "repo_slug": "your-repo"}'
# Get a pull request
clawlink_call_tool --tool "bitbucket_get_pull_request" --params '{"workspace": "your-workspace", "repo_slug": "your-repo", "pull_request_id": 1}'
All Bitbucket tool calls are authenticated automatically by ClawLink using the user's connected Bitbucket account.
No API key is required in chat. ClawLink stores the OAuth token securely and injects it into every Bitbucket API request on the user's behalf.
clawlink_begin_pairing if it is not configured yet.clawlink_list_integrations to verify the connection is active.bash
clawlink_list_integrations
Response: Returns all connected integrations. Look for bitbucket in the list.
bash
clawlink_list_tools --integration bitbucket
Response: Returns the live tool catalog for Bitbucket.
If Bitbucket tools are missing or the connection shows an error:
clawlink_list_integrations to verifyclawlink_list_tools --integration bitbucketToolDescriptionModebitbucket_list_repositories_in_workspaceList repositories in a workspaceReadbitbucket_list_repositoriesList public repositoriesReadbitbucket_get_repositoryGet repository metadataReadbitbucket_create_repositoryCreate a new repository in a workspaceWritebitbucket_delete_repositoryPermanently delete a repositoryWritebitbucket_browse_repository_pathGet file content or list directory at a revisionReadbitbucket_get_file_from_repositoryGet a specific file's content at a commitReadbitbucket_list_repository_pathsList files and directories under a pathRead
ToolDescriptionModebitbucket_list_branchesList branches with optional name filteringReadbitbucket_get_branchGet branch metadata and target commitReadbitbucket_create_branchCreate a new branch from a target commitWritebitbucket_get_repositories_branching_modelGet the repository's branch workflow configurationReadbitbucket_get_repositories_effective_branching_modelGet effective branching model (including inheritance)Read
ToolDescriptionModebitbucket_list_commitsList commits with optional branch/path filtersReadbitbucket_get_repositories_commitGet detailed commit informationReadbitbucket_get_commit_diffGet the unified diff for a commit or rangeReadbitbucket_get_commit_changesGet changed files in a commitReadbitbucket_get_commit_build_statusGet build status for a commitReadbitbucket_get_commit_diffstatGet diffstat (files changed, lines added/removed)Read
ToolDescriptionModebitbucket_list_pull_requestsList pull requests by state (OPEN/MERGED/DECLINED)Readbitbucket_get_pull_requestGet a single pull request with full detailsReadbitbucket_get_pull_request_commitsGet commits included in a PRReadbitbucket_get_pull_request_diffGet the unified diff for a PRReadbitbucket_get_pull_request_diffstatGet diffstat for a PRReadbitbucket_create_pull_requestCreate a new pull requestWritebitbucket_update_pull_requestUpdate PR title, description, or reviewersWritebitbucket_merge_pull_requestMerge a pull requestWritebitbucket_approve_pull_requestApprove a pull requestWritebitbucket_request_pull_request_changesRequest changes on a PRWritebitbucket_create_pull_request_commentAdd a top-level or threaded comment to a PRWritebitbucket_delete_pull_request_commentDelete a PR commentWritebitbucket_resolve_pull_request_commentResolve or reopen a PR comment threadWrite
ToolDescriptionModebitbucket_list_issuesList issues with optional state/priority filtersReadbitbucket_create_issueCreate a new issueWritebitbucket_update_issueUpdate issue attributesWritebitbucket_delete_issuePermanently delete an issueWritebitbucket_create_issue_commentAdd a comment to an issueWrite
ToolDescriptionModebitbucket_get_current_userGet the authenticated user's profileReadbitbucket_list_workspacesList workspaces accessible to the userReadbitbucket_get_workspaceGet workspace metadataReadbitbucket_list_workspace_membersList members of a workspaceReadbitbucket_list_workspace_projectsList projects in a workspaceRead
ToolDescriptionModebitbucket_list_pipelinesList pipeline runs for a repositoryReadbitbucket_get_repositories_pipelines2Get a specific pipeline's detailsReadbitbucket_list_repositories_environmentsList deployment environmentsReadbitbucket_list_deploymentsList deployment historyRead
ToolDescriptionModebitbucket_get_workspaces_search_codeSearch code across all repos in a workspaceReadbitbucket_search_user_repositories_codeSearch code in a specific user's reposRead
bash
clawlink_call_tool --tool "bitbucket_list_branches" \
--params '{
"workspace": "your-workspace",
"repo_slug": "your-repo",
"q": "name~\"feature\""
}'
bash
clawlink_call_tool --tool "bitbucket_create_pull_request" \
--params '{
"workspace": "your-workspace",
"repo_slug": "your-repo",
"title": "Add new feature",
"source_branch": "feature/new-feature",
"destination_branch": "main",
"description": "This PR adds the new feature as described in issue #123"
}'
bash
clawlink_call_tool --tool "bitbucket_approve_pull_request" \
--params '{
"workspace": "your-workspace",
"repo_slug": "your-repo",
"pull_request_id": 42
}'
bash
clawlink_call_tool --tool "bitbucket_get_file_from_repository" \
--params '{
"workspace": "your-workspace",
"repo_slug": "your-repo",
"path": "README.md",
"commit_revision": "main"
}'
clawlink_list_integrations to confirm Bitbucket is connected.clawlink_list_tools --integration bitbucket to see the live catalog.clawlink_search_tools with a short query and integration bitbucket.text
┌─────────────────────────────────────────────────────────────┐
│ READ OPERATIONS (Safe) │
│ list → get → search → describe → call │
│ │
│ Example: List repos → List branches → Show results │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ WRITE OPERATIONS (Require Confirmation) │
│ list → get → describe → preview → confirm → call │
│ │
│ Example: Describe tool → Preview changes → User approves │
│ → Execute update │
└─────────────────────────────────────────────────────────────┘
clawlink_describe_tool first.whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.clawlink_preview_tool first.clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.refs/heads/ prefix.bitbucket_list_pull_requests to find PR IDs.next field in responses to iterate through large result sets.Status / ErrorMeaningTool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration bitbucket.Missing connectionBitbucket is not connected. Direct the user to https://claw-link.dev/dashboard?add=bitbucket.BranchNotFoundBranch does not exist. Check the branch name.PullRequestNotFoundPull request does not exist. Check the PR ID.RepositoryNotFoundRepository does not exist or is not accessible.InvalidArgumentInvalid parameter or missing required field. Review the tool schema with clawlink_describe_tool.Write rejectedUser did not confirm a write action. Always confirm before executing writes.
Check that the ClawLink plugin is installed: bash
openclaw plugins list
If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
If a fresh chat does not help, run: bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
After restart, tell the user to send /new again and retry.
bitbucket.clawlink_describe_tool to verify parameter names and types before calling.clawlink_preview_tool first.Powered by ClawLink — an integration hub for OpenClaw
