Bitbucket

Learn how to use Bitbucket with Composio

Overview

SLUG: BITBUCKET

Description

Bitbucket is a Git-based code hosting and collaboration platform supporting private and public repositories, enabling teams to manage and review code through pull requests and integrations

Authentication Details

client_id
stringRequired
client_secret
stringRequired
full
stringDefaults to https://api.bitbucket.org/2.0Required
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to webhook,pullrequest:write,project:admin,runner:write,project:write,snippet:write,team:write,pipeline:variable,repository:delete,repository:admin,account:write,wiki,issue:write
bearer_token
string

Connecting to Bitbucket

Create an auth config

Use the dashboard to create an auth config for the Bitbucket toolkit. This allows you to connect multiple Bitbucket accounts to Composio for agents to use.

1

Select App

Navigate to the Bitbucket toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5bitbucket_auth_config_id = "ac_YOUR_BITBUCKET_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/application
7
8composio = Composio()
9
10
11def authenticate_toolkit(user_id: str, auth_config_id: str):
12 connection_request = composio.connected_accounts.initiate(
13 user_id=user_id,
14 auth_config_id=auth_config_id,
15 )
16
17 print(
18 f"Visit this URL to authenticate Bitbucket: {connection_request.redirect_url}"
19 )
20
21 # This will wait for the auth flow to be completed
22 connection_request.wait_for_connection(timeout=15)
23 return connection_request.id
24
25
26connection_id = authenticate_toolkit(user_id, bitbucket_auth_config_id)
27
28# You can also verify the connection status using:
29connected_account = composio.connected_accounts.get(connection_id)
30print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Bitbucket toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["BITBUCKET"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Create a branch

Description

Creates a new branch in a bitbucket repository from a target commit hash; the branch name must be unique, adhere to bitbucket's naming conventions, and not include the 'refs/heads/' prefix.

Action Parameters

name
stringRequired
repo_slug
stringRequired
target_hash
stringRequired
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create an issue

Description

Creates a new issue in a bitbucket repository, setting the authenticated user as reporter; ensures assignee (if provided) has repository access, and that any specified milestone, version, or component ids exist.

Action Parameters

assignee
string
component_id
integer
content
stringRequired
due_on
string
kind
string
milestone_id
integer
priority
string
repo_slug
stringRequired
title
stringRequired
version_id
integer
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create an issue comment

Description

Adds a new comment with markdown support to an existing bitbucket issue.

Action Parameters

content
stringRequired
issue_id
stringRequired
repo_slug
stringRequired
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a pull request

Description

Creates a new pull request in a specified bitbucket repository, ensuring the source branch exists and is distinct from the (optional) destination branch.

Action Parameters

close_source_branch
boolean
description
string
destination_branch
string
repo_slug
stringRequired
reviewers
array
source_branch
stringRequired
title
stringRequired
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create repository

Description

Creates a new bitbucket 'git' repository in a specified workspace, defaulting to the workspace's oldest project if `project key` is not provided.

Action Parameters

description
string
fork_policy
stringDefaults to allow_forks
has_issues
booleanDefaults to True
has_wiki
booleanDefaults to True
is_private
booleanDefaults to True
language
string
project_key
string
repo_slug
stringRequired
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete issue

Description

Permanently deletes a specific issue, identified by its `issue id`, from the repository specified by `repo slug` within the given `workspace`.

Action Parameters

issue_id
stringRequired
repo_slug
stringRequired
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete repository

Description

Permanently deletes a specified bitbucket repository; this action is irreversible and does not affect forks.

Action Parameters

repo_slug
stringRequired
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get current user

Description

Retrieves the profile information (uuid, display name, links, creation date) for the currently authenticated bitbucket user.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get file from repository

Description

Retrieves a specific file's content from a bitbucket repository at a given commit (hash, branch, or tag), failing if the file path is invalid for that commit.

Action Parameters

commit
stringRequired
path
stringRequired
repo_slug
stringRequired
workspace
stringRequired

Action Response

commit
stringRequired
data
stringRequired
error
string
path
stringRequired
size
integerRequired
successful
booleanRequired

Tool Name: Get snippet

Description

Retrieves a specific bitbucket snippet by its encoded id from an existing workspace, returning its metadata and file structure.

Action Parameters

accept_format
stringDefaults to application/json
encoded_id
stringRequired
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List pull requests

Description

Lists pull requests in a specified, accessible bitbucket repository, optionally filtering by state (open, merged, declined).

Action Parameters

page
integer
pagelen
integer
repo_slug
stringRequired
state
string
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List repositories in workspace

Description

Lists repositories in a specified bitbucket workspace, accessible to the authenticated user, with options to filter by role or query string, and sort results.

Action Parameters

q
string
role
string
sort
string
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List workspaces

Description

Lists bitbucket workspaces accessible to the authenticated user, optionally filtered and sorted.

Action Parameters

q
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List workspace members

Description

Lists all members of a specified bitbucket workspace; the workspace must exist.

Action Parameters

workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create snippet comment

Description

Posts a new top-level comment or a threaded reply to an existing comment on a specified bitbucket snippet.

Action Parameters

content
stringRequired
encoded_id
stringRequired
parent_id
integer
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update an issue

Description

Updates an existing issue in a bitbucket repository by modifying specified attributes; requires `workspace`, `repo slug`, `issue id`, and at least one attribute to update.

Action Parameters

assignee_account_id
string
component
string
content
string
issue_id
stringRequired
kind
string
milestone
string
priority
string
repo_slug
stringRequired
state
string
title
string
version
string
workspace
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired