bitbucket-automation について
Composio の Bitbucket ツールキットを通じて、Bitbucket のリポジトリ、プルリクエスト、ブランチ、課題、ワークスペースの操作を自動化するスキルです。Rube MCP に接続した環境で作業するユーザー向けに、ツールの確認、識別子、ページネーション、書き込み時の注意事項を示します。
主な機能
- 01プルリクエストとレビューの管理
- 02リポジトリの一覧、作成、削除
- 03リポジトリ課題の作成と更新
- 04ブランチの検索と作成
- 05ワークスペースとリポジトリの識別子解決
- 06ページネーションと破壊的操作の確認
活用シーン
- 01プルリクエストと差分の作成または確認
- 02ワークスペース内のリポジトリ一覧
- 03リポジトリ課題の追跡や更新
- 04コミットハッシュからのブランチ作成
MCP 対応
現在のツールスキーマの確認と Bitbucket 接続の管理に Rube MCP が必要です。接続後、Composio の Bitbucket ツールキットで Bitbucket を操作します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill bitbucket-automationインストール後、Claude Code で/bitbucket-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による Bitbucket の自動化
Composio の Bitbucket ツールキットを通じて、リポジトリ管理、プルリクエストのワークフロー、ブランチ操作、課題追跡、ワークスペース管理などの Bitbucket 操作を自動化します。
前提条件
- Rube MCP に接続されていること(RUBE_SEARCH_TOOLS が利用可能)
- ツールキット
bitbucketを指定したRUBE_MANAGE_CONNECTIONSによる有効な Bitbucket 接続 - 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出してください
セットアップ
既存の承認済み Rube 接続を使用してください。エンドポイントの設定だけでは Bitbucket の認証は行われません。要求された場合にのみ、ホストがサポートするセットアップ/認証フローに従ってください。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確認します- ツールキット
bitbucketを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Bitbucket OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE と表示されることを確認します
以下の過去のスラッグやデフォルト値を使用する場合は、現在のスキーマを確認してください。要求された変更操作の前に、ワークスペース/リポジトリ/ブランチ/プルリクエストと公開範囲を確認してください。コメントはメッセージであり、投稿範囲の明示的な指定が必要です。max_chars によって差分が切り詰められた場合は不完全です。完全なレビューを行ったと主張する前に、影響を受けるすべてのファイル/チャンクを取得してください。書き込み結果が不確かな場合は、再試行する前に状況を確認してください。
主なワークフロー
1. プルリクエストの管理
使用する場面:プルリクエストの作成、レビュー、または確認をユーザーが希望する場合
ツールの実行順序:
BITBUCKET_LIST_WORKSPACES- アクセス可能なワークスペースを検索します[前提条件]BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE- 対象のリポジトリを見つけます[前提条件]BITBUCKET_LIST_BRANCHES- ソースブランチと宛先ブランチが存在することを確認します[前提条件]BITBUCKET_CREATE_PULL_REQUEST- タイトル、ソースブランチ、任意のレビュアーを指定して新しい PR を作成します[必須]BITBUCKET_LIST_PULL_REQUESTS- 状態(OPEN、MERGED、DECLINED)で絞り込んで PR を一覧表示します[任意]BITBUCKET_GET_PULL_REQUEST- ID を指定して、特定の PR の詳細をすべて取得します[任意]BITBUCKET_GET_PULL_REQUEST_DIFF- コードレビュー用に統一形式の差分を取得します[任意]BITBUCKET_GET_PULL_REQUEST_DIFFSTAT- 追加/削除された行数とともに変更ファイルを取得します[任意]
主なパラメーター:
workspace:ワークスペースのスラッグまたは UUID(すべての操作で必須)repo_slug:URL で使用できる形式のリポジトリ名source_branch:マージする変更を含むブランチdestination_branch:対象ブランチ(省略した場合、リポジトリのメインブランチがデフォルトになります)reviewers:レビュアーの割り当てに使用する、uuidフィールドを含むオブジェクトのリストstate:LIST_PULL_REQUESTS の絞り込み条件。OPEN、MERGED、またはDECLINEDmax_chars:大きな差分を処理するための、GET_PULL_REQUEST_DIFF の切り詰め上限
注意点:
reviewersにはユーザー名ではなく、uuidキーを含むオブジェクトの配列を指定します:[{"uuid": "{...}"}]- UUID の形式には中括弧が必要です:
{123e4567-e89b-12d3-a456-426614174000} destination_branchを省略した場合、リポジトリのメインブランチがデフォルトになります。これはmainとは限りませんpull_request_idは GET/DIFF 操作では整数ですが、PR の一覧表示結果にも含まれます- 大きな差分はコンテキストを圧迫する可能性があります。GET_PULL_REQUEST_DIFF では、必ず
max_chars(例:50000)を設定してください
2. リポジトリとワークスペースを管理する
使用する状況:ユーザーがリポジトリの一覧表示、作成、削除、またはワークスペースの確認を希望している場合
ツールの順序:
BITBUCKET_LIST_WORKSPACES- アクセス可能なすべてのワークスペースを一覧表示します[必須]BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE- オプションの BBQL フィルターを使用してリポジトリを一覧表示します[必須]BITBUCKET_CREATE_REPOSITORY- 言語、プライバシー、プロジェクトの設定を指定して新しいリポジトリを作成します[任意]BITBUCKET_DELETE_REPOSITORY- リポジトリを完全に削除します(取り消し不可)[任意]BITBUCKET_LIST_WORKSPACE_MEMBERS- レビュー担当者の割り当てやアクセス確認のためにメンバーを一覧表示します[任意]
主なパラメーター:
workspace:ワークスペースのスラッグ(LIST_WORKSPACES で確認します)repo_slug:作成/削除に使用する URL 対応の名前q:BBQL クエリフィルター(例:name~"api"、project.key="PROJ"、is_private=true)role:ユーザーのロールでリポジトリを絞り込みます:member、contributor、admin、ownersort:並べ替えフィールド。降順にするには任意で先頭に-を付けます(例:-updated_on)is_private:リポジトリの公開範囲を指定するブール値(デフォルトはtrue)project_key:Bitbucket のプロジェクトキー。省略すると、ワークスペース内で最も古いプロジェクトが使用されます
注意点:
BITBUCKET_DELETE_REPOSITORYは取り消し不可で、フォークには影響しません- BBQL の文字列値は必ず二重引用符で囲んでください:
name~"my-repo"。name~my-repoではありません repositoryは有効な BBQL フィールドではありません。代わりにnameを使用してください- デフォルトのページネーションでは表示件数が少ない場合があります。
pagelenを増やすだけでは一覧の取得は完了しません。サポートされている次のページをすべて取得してください CREATE_REPOSITORYはデフォルトで非公開に設定されます。公開リポジトリにするにはis_private: falseを設定してください
3. イシューを管理する
使用する状況:ユーザーがリポジトリのイシューの作成、更新、一覧表示、またはコメントの追加を希望している場合
ツールの順序:
BITBUCKET_LIST_ISSUES- 状態、優先度、種類、担当者のオプションフィルターを使用してイシューを一覧表示します[必須]BITBUCKET_CREATE_ISSUE- タイトル、内容、優先度、種類を指定して新しいイシューを作成します[必須]BITBUCKET_UPDATE_ISSUE- イシューの属性(状態、優先度、担当者など)を変更します[任意]BITBUCKET_CREATE_ISSUE_COMMENT- 既存のイシューに Markdown コメントを追加します[任意]BITBUCKET_DELETE_ISSUE- イシューを完全に削除します[任意]
主なパラメーター:
issue_id:イシューの文字列識別子title、content:作成時に必須ですkind:bug、enhancement、proposal、またはtaskpriority:trivial、minor、major、critical、またはblockerstate:new、open、resolved、on hold、invalid、duplicate、wontfix、closedassignee:CREATE では Bitbucket のユーザー名、UPDATE ではassignee_account_id(UUID)を使用しますdue_on:ISO 8601 形式の日付文字列
注意点:
- イシューのトラッカーがリポジトリで有効(
has_issues: true)になっていないと、API 呼び出しは失敗します CREATE_ISSUEはassignee(ユーザー名の文字列)を使用しますが、UPDATE_ISSUEはassignee_account_id(UUID)を使用します。これらは別のフィールドですDELETE_ISSUEは完全削除で、元に戻せませんstateの値にはスペースが含まれます:"on hold"を使用し、"on_hold"ではありません- LIST_ISSUES で
assigneeによる絞り込みを行う場合は、ユーザー名ではなくアカウント ID を使用します。未割り当ての場合は文字列"null"を使用してください
4. ブランチを管理する
使用するタイミング:ユーザーがブランチを作成したい場合、またはブランチ構造を調べたい場合
ツールの順序:
BITBUCKET_LIST_BRANCHES- オプションの BBQL フィルターと並べ替えを指定してブランチを一覧表示します[必須]BITBUCKET_CREATE_BRANCH- 特定のコミットハッシュから新しいブランチを作成します[必須]
主なパラメーター:
name:refs/heads/プレフィックスなしのブランチ名(例:feature/new-login)target_hash:ブランチの作成元となる完全な SHA1 コミットハッシュ(リポジトリに存在する必要があります)q:BBQL フィルター(例:name~"feature/"、name="main")sort:nameまたは-target.date(コミット日時の降順)で並べ替えますpagelen:ページあたりの結果数(1~100、デフォルトは 10)
注意点:
CREATE_BRANCHのtarget_hashには、ブランチ名ではなく完全なコミットハッシュが必要です- ブランチ名に
refs/heads/プレフィックスを含めないでください - ブランチ名は Bitbucket の命名規則(英数字、
/、.、_、-)に従う必要があります - BBQL の文字列値は二重引用符で囲む必要があります:
name~"feature/"のように指定し、name~feature/とはしません
5. コメント付きでプルリクエストをレビューする
使用するタイミング:ユーザーが、インラインコードコメントを含むプルリクエストへのレビューコメントを追加したい場合
ツールの順序:
BITBUCKET_GET_PULL_REQUEST- PR の詳細を取得し、存在を確認します[前提条件]BITBUCKET_GET_PULL_REQUEST_DIFF- 実際のコード変更をレビューします[前提条件]BITBUCKET_GET_PULL_REQUEST_DIFFSTAT- 変更されたファイルの一覧を取得します[任意]BITBUCKET_CREATE_PULL_REQUEST_COMMENT- レビューコメントを投稿します[必須]
主なパラメーター:
pull_request_id:PR の文字列 IDcontent_raw:Markdown 形式のコメントテキストcontent_markup:デフォルトはmarkdown。plaintextもサポートされていますinline:インラインコードコメント用のpath、from、toを含むオブジェクトparent_comment_id:既存のコメントへのスレッド返信に使用する整数 ID
注意点:
pull_request_idは、CREATE_PULL_REQUEST_COMMENT では文字列ですが、GET_PULL_REQUEST では整数です- インラインコメントには、少なくとも
inline.pathが必要です。from/toは任意の行番号です parent_comment_idを指定するとスレッド返信になり、トップレベルのコメントでは省略します- インラインコメントの行番号は、ソースファイルではなく diff を参照します
共通パターン
ID の解決
操作の前に、人が読める名前を必ず ID に解決します:
- ワークスペース:
BITBUCKET_LIST_WORKSPACESでワークスペースのスラッグを取得します - リポジトリ:
qフィルターを指定してBITBUCKET_LIST_REPOSITORIES_IN_WORKSPACEを使用し、リポジトリのスラッグを検索します - ブランチ:PR 作成前に
BITBUCKET_LIST_BRANCHESでブランチの存在を確認します - メンバー:
BITBUCKET_LIST_WORKSPACE_MEMBERSでレビュアーの割り当てに必要な UUID を取得します
ページネーション
Bitbucket はカーソルベースではなく、ページベースのページネーションを使用します:
page(1 から開始)とpagelen(ページあたりの項目数)パラメーターを使用します- デフォルトのページサイズは通常 10 です。
pagelenを明示的に設定してください(PR は最大 50、それ以外は最大 100) - さらにページがあるかどうかを確認するには、レスポンスの
nextURL または合計件数を確認します - 結果をすべて取得するため、必ず全ページを順に処理してください
BBQL フィルタリング
リスト取得エンドポイントでは、Bitbucket Query Language を使用できます:
- 文字列値は必ず二重引用符で囲みます:
name~"pattern" - 演算子:
=(完全一致)、~(部分一致)、!=(不一致)、>、>=、<、<= AND/ORと組み合わせます:name~"api" AND is_private=true
既知の注意点
ID の形式
- ワークスペース:スラッグ文字列(例:
my-workspace)または波括弧で囲んだ UUID({uuid}) - レビュアーの UUID は波括弧で囲む必要があります:
{123e4567-e89b-12d3-a456-426614174000} - Issue ID は文字列です。PR ID はツールによって整数の場合と文字列の場合があります
- コミットハッシュは完全な SHA1(40 文字)である必要があります
パラメーターに関する注意点
assigneeとassignee_account_id:CREATE_ISSUE はユーザー名を使用し、UPDATE_ISSUE は UUID を使用します- Issue の
state値にはスペースを含めます:"on_hold"ではなく"on hold"です destination_branchを省略すると、文字どおりのmainではなく、リポジトリのメインブランチがデフォルトになります- BBQL では
repositoryは有効なフィールドではありません。代わりにnameを使用してください
レート制限
- Bitbucket Cloud API にはレート制限があります。大規模なバッチ操作には遅延を挟む必要があります
- ページネーションを伴うリクエストもレート制限の対象になります。不要なページ取得は最小限に抑えてください
破壊的な操作
BITBUCKET_DELETE_REPOSITORYは取り消しができず、フォークも削除されませんBITBUCKET_DELETE_ISSUEは完全に削除され、復元する手段はありません- 削除操作を実行する前には、必ずユーザーに確認してください
クイックリファレンス
| タスク | ツールスラグ | 主なパラメータ |
|---|---|---|
| ワークスペースの一覧表示 | BITBUCKET_LIST_WORKSPACES | q、sort |
| リポジトリの一覧表示 | BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE | workspace、q、role |
| リポジトリの作成 | BITBUCKET_CREATE_REPOSITORY | workspace、repo_slug、is_private |
| リポジトリの削除 | BITBUCKET_DELETE_REPOSITORY | workspace、repo_slug |
| ブランチの一覧表示 | BITBUCKET_LIST_BRANCHES | workspace、repo_slug、q |
| ブランチの作成 | BITBUCKET_CREATE_BRANCH | workspace、repo_slug、name、target_hash |
| PR の一覧表示 | BITBUCKET_LIST_PULL_REQUESTS | workspace、repo_slug、state |
| PR の作成 | BITBUCKET_CREATE_PULL_REQUEST | workspace、repo_slug、title、source_branch |
| PR の詳細取得 | BITBUCKET_GET_PULL_REQUEST | workspace、repo_slug、pull_request_id |
| PR の差分取得 | BITBUCKET_GET_PULL_REQUEST_DIFF | workspace、repo_slug、pull_request_id、max_chars |
| PR の差分統計取得 | BITBUCKET_GET_PULL_REQUEST_DIFFSTAT | workspace、repo_slug、pull_request_id |
| PR へのコメント | BITBUCKET_CREATE_PULL_REQUEST_COMMENT | workspace、repo_slug、pull_request_id、content_raw |
| Issue の一覧表示 | BITBUCKET_LIST_ISSUES | workspace、repo_slug、state、priority |
| Issue の作成 | BITBUCKET_CREATE_ISSUE | workspace、repo_slug、title、content |
| Issue の更新 | BITBUCKET_UPDATE_ISSUE | workspace、repo_slug、issue_id |
| Issue へのコメント | BITBUCKET_CREATE_ISSUE_COMMENT | workspace、repo_slug、issue_id、content |
| Issue の削除 | BITBUCKET_DELETE_ISSUE | workspace、repo_slug、issue_id |
| メンバーの一覧表示 | BITBUCKET_LIST_WORKSPACE_MEMBERS | workspace |
使用する場面
このスキルは、概要で説明されているワークフローやアクションを実行する場合に適用されます。
例
ユーザーからのリクエスト:
Rube MCP (Composio) を介して、Bitbucket のリポジトリ、プルリクエスト、ブランチ、Issue、ワークスペース管理を自動化する。
制限事項
- このスキルは、タスクが上記のスコープに明確に一致する場合にのみ使用してください。
- 出力を、環境固有の検証、テスト、専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、成功基準が欠けている場合は、作業を止めて確認を求めてください。