atlassian-cli はコミュニティによる独立したオープンソースプロジェクトです。Atlassian と提携・関連しておらず、Atlassian による承認、推奨、後援のいずれも受けておらず、Atlassian が提供する公式 CLI(acli)でもありません。製品名は互換性を示す目的でのみ使用しています。
Bitbucket CLI コマンド早見表
このページは、atlassian-cli が提供する Bitbucket CLI コマンドのリファレンス表です。リポジトリ、プルリクエスト、パイプライン、権限という管理対象ごとにまとめています。以下のコマンドはすべてそのままコピーして使えます。ターミナルから Bitbucket を操作するときは、このページをタブに開いたままにしておくと便利です。
すべてのコマンドに共通する点が 2 つあります。1 つ目は、ベースとなるバイナリが atlassian-cli、コマンドグループが bitbucket で、これには短いエイリアス bb がある点です。どちらを使っても動作は同じです。2 つ目は、--workspace フラグを bitbucket の直後、サブコマンドの前に置く点です。これで呼び出し全体が 1 つのワークスペースにスコープされます。
# bb is an alias for bitbucket -- these two lines are identical
atlassian-cli bitbucket --workspace myteam repo list
atlassian-cli bb --workspace myteam repo list
Atlassian 自身の CLI との違い。atlassian-cli はコミュニティによる独立したオープンソースプロジェクトです。Atlassian と提携・関連しておらず、Atlassian による承認、推奨、後援、保守のいずれも受けていません。Atlassian が提供する公式 CLI(acli)でもありません。ベンダーによる一次サポートが必要な場合は公式の acli を使ってください。Jira、Confluence、Bitbucket、Jira Service Management を 1 つの無料の Rust バイナリで、一貫したフラグ構文から扱いたい場合は atlassian-cli が向いています。GitHub のツールと比べたい場合は、関連記事の gh のように使える Bitbucket CLI で考え方の対応関係を解説しています。
以下の表では、ワークスペースを myteam、リポジトリスラッグを api-service としています。ご自身の値に置き換えてください。常に最新の網羅的な一覧はコマンドリファレンスを、セットアップ手順は Bitbucket CLI ハブを参照してください。
リポジトリ関連コマンド
リポジトリ関連コマンドは、一覧、参照、作成、更新、削除というライフサイクル全体をカバーします。リポジトリスラッグは動詞の後ろに位置引数として渡します。
| コマンド | 内容 |
|---|---|
repo list | ワークスペース内のリポジトリを一覧表示する(--limit に対応)。 |
repo get <repo> | 単一のリポジトリの詳細を表示する。 |
repo create <slug> | リポジトリを作成する。--name と --private を追加できる。 |
repo update <repo> | 設定を更新する。たとえば --description。 |
repo delete <repo> | リポジトリを削除する。--force が必要。 |
# List, then inspect a repository
atlassian-cli bitbucket --workspace myteam repo list --limit 10
atlassian-cli bitbucket --workspace myteam repo get api-service
# Create a private repo, update its description, delete an old one
atlassian-cli bitbucket --workspace myteam repo create newrepo --name "New Repo" --private
atlassian-cli bitbucket --workspace myteam repo update api-service --description "Updated description"
atlassian-cli bitbucket --workspace myteam repo delete oldrepo --force
ワークスペース内のすべてのリポジトリを一度に監査したい場合、たとえば使われていないリポジトリを洗い出したい場合は、repo list --format json とリポジトリ監査ランブックを組み合わせてください。
プルリクエスト関連コマンド
プルリクエスト関連コマンドは、最初にリポジトリスラッグを、必要に応じてその後に PR の ID を渡します。ターミナルを離れずに変更の作成、レビュー、マージができるため、日々の作業でもっとも使用頻度の高いグループです。
| コマンド | 内容 |
|---|---|
pr list <repo> | プルリクエストを一覧表示する。--state OPEN や --limit で絞り込める。 |
pr get <repo> <id> | プルリクエスト 1 件の詳細を表示する。 |
pr create <repo> | --title --source --destination を指定して PR を作成する。 |
pr update <repo> <id> | PR を編集する。たとえば --title。 |
pr approve <repo> <id> | プルリクエストを承認する。 |
pr merge <repo> <id> | --strategy merge_commit を指定してマージする。 |
pr comments <repo> <id> | プルリクエストのコメントを一覧表示する。 |
pr comment <repo> <id> | --text でコメントを追加する。 |
# Open a pull request from a feature branch into main
atlassian-cli bitbucket --workspace myteam pr create api-service \
--title "Add feature" \
--source feature/new \
--destination main
# Review flow: list open PRs, read one, comment, approve, merge
atlassian-cli bitbucket --workspace myteam pr list api-service --state OPEN --limit 5
atlassian-cli bitbucket --workspace myteam pr get api-service 123
atlassian-cli bitbucket --workspace myteam pr comment api-service 123 --text "Looks good!"
atlassian-cli bitbucket --workspace myteam pr approve api-service 123
atlassian-cli bitbucket --workspace myteam pr merge api-service 123 --strategy merge_commit
各コマンドは構造化された出力を返すため、これらをつないでレビュー用のボットや夜間の整理処理を組み立てられます。PR 自動化ランブックでは、放置されたプルリクエストへ自動でコメントし、承認済みのものをスケジュールでマージする方法を紹介しています。
パイプライン関連コマンド
パイプライン関連コマンドは Bitbucket Pipelines を操作します。実行履歴の一覧、ブランチでのビルドの起動、bitbucket-pipelines.yml に定義した名前付きカスタムパイプラインの実行、実行中のパイプラインの停止ができます。
| コマンド | 内容 |
|---|---|
pipeline list <repo> | リポジトリの最近のパイプライン実行を一覧表示する。 |
pipeline trigger <repo> | --ref-name で指定したブランチのパイプラインを開始する。 |
pipeline trigger <repo> --custom-pipeline | YAML に定義した名前付きカスタムパイプラインを実行する。 |
pipeline stop <repo> <uuid> | UUID を指定して実行中のパイプラインを停止する。 |
# List runs, then trigger the default pipeline on main
atlassian-cli bitbucket --workspace myteam pipeline list api-service
atlassian-cli bitbucket --workspace myteam pipeline trigger api-service --ref-name main
# Trigger a named custom pipeline defined in bitbucket-pipelines.yml
atlassian-cli bitbucket --workspace myteam pipeline trigger api-service \
--ref-name main --custom-pipeline s3-access-test
# Stop a run that is already going
atlassian-cli bitbucket --workspace myteam pipeline stop api-service {uuid}
カスタムパイプラインは、スモークテストや手動のデプロイ手順のような単発のジョブに便利です。Pipelines の REST エンドポイントを直接呼び出したい場合は、CLI から Bitbucket API を使うの記事で素のリクエストパターンを解説しています。
権限とブランチ保護のコマンド
権限関連コマンドは、誰がリポジトリにアクセスできるか、保護されたブランチで何が起きるかを制御します。権限の付与にはユーザーの UUID と権限レベルを指定し、ブランチ保護ではブランチパターンに対して制限ルールを設定します。
| コマンド | 内容 |
|---|---|
permission list <repo> | リポジトリに明示的に設定された権限を一覧表示する。 |
permission grant <repo> | --user-uuid と --permission を指定してアクセス権を付与する。 |
branch protect <repo> | --pattern --kind --approvals を指定して制限を追加する。 |
branch restrictions <repo> | 既存のブランチ制限を一覧表示する。 |
# See who has access, then grant write to a user
atlassian-cli bitbucket --workspace myteam permission list api-service
atlassian-cli bitbucket --workspace myteam permission grant api-service \
--user-uuid {uuid} --permission write
# Require two approvals before a merge to main
atlassian-cli bitbucket --workspace myteam branch protect api-service \
--pattern "main" --kind restrict_merges --approvals 2
atlassian-cli bitbucket --workspace myteam branch restrictions api-service
--permission には read、write、admin といった Bitbucket 標準の値を指定できます。branch protect の --kind フラグには restrict_merges のような制限の種類を渡します。権限はワークスペースごとの設定に対応するため、一括での権限付与は適用前にドライランで確認してください。
ブランチ、Webhook、一括操作
4 つの中心的なグループのほかに、日々のリポジトリ管理を補う 3 つのグループがあります。ブランチ管理、Webhook と SSH キー、そして複数のリポジトリにまたがる一括操作です。
ブランチ
atlassian-cli bitbucket --workspace myteam branch list api-service
atlassian-cli bitbucket --workspace myteam branch create api-service feature/new --from main
atlassian-cli bitbucket --workspace myteam branch delete api-service feature/old --force
Webhook と SSH キー
atlassian-cli bitbucket --workspace myteam webhook list api-service
atlassian-cli bitbucket --workspace myteam webhook create api-service \
--url https://example.com/hook --events repo:push
atlassian-cli bitbucket --workspace myteam ssh-key list api-service
atlassian-cli bitbucket --workspace myteam ssh-key add api-service --label deploy --key "ssh-rsa ..."
一括操作
一括操作コマンドは、多数のリポジトリやブランチに対してまとめて処理を適用します。CLI の破壊的な操作と同様に --dry-run に対応しているため、先に影響範囲を確認できます。
# Preview archiving repos untouched for 180 days
atlassian-cli bitbucket --workspace myteam bulk archive-repos --days 180 --dry-run
# Preview deleting merged branches, keeping one you name
atlassian-cli bitbucket --workspace myteam bulk delete-branches api-service \
--exclude feature/keep --dry-run
これらを安全に組み合わせて、スプリント終了時の整理を繰り返し実行できるようにする手順はブランチ整理ランブックを参照してください。
グローバルフラグと出力形式
すべての Bitbucket コマンドは共通のグローバルフラグを受け付けます。機械可読な形式を選び、プロファイルを指定し、問題が起きたときにデバッグできることが、この CLI をスクリプトから扱いやすくしています。
| フラグ | 用途 |
|---|---|
--profile <name> | 特定の認証プロファイルを使う(既定は default に指定したプロファイル)。 |
--format <fmt> / -f | table、json、csv、yaml、markdown、quiet のいずれかの形式で出力する。 |
--envelope | 一覧の出力を data と count を持つオブジェクトで包む。 |
--debug | HTTP リクエストとレスポンスの詳細をログに出力する。 |
--help | 任意のコマンドのヘルプを表示する。 |
# JSON for scripting -- pipe to jq
atlassian-cli bitbucket --workspace myteam pr list api-service --format json | jq '.[].id'
# Target a non-default profile
atlassian-cli bitbucket --workspace myteam repo list --profile work
# CSV for a spreadsheet
atlassian-cli bitbucket --workspace myteam repo list --format csv
プロファイルは認証のページの手順で一度設定すれば、どのワークスペースでも使い回せます。--format json と jq の組み合わせは、これから書く Bitbucket 自動化のほとんどで土台になります。
atlassian-cli を試す
Jira、Confluence、Bitbucket、JSM に対応した、無料でオープンソースの Rust バイナリが 1 つ。1 分でインストールして、ターミナルからワークスペースを操作できます。
atlassian-cli をインストールよくある質問
CLI から Bitbucket でプルリクエストを作成するコマンドは何ですか。
atlassian-cli bitbucket --workspace myteam pr create api-service --title "Add feature" --source feature/new --destination main を実行します。リポジトリスラッグを位置引数として渡し、タイトル、ソースブランチ、宛先ブランチをフラグで指定します。コマンドは作成されたプルリクエストを ID つきで返すため、続けて承認やマージを行えます。
コマンドラインから Bitbucket のパイプラインを起動するにはどうすればよいですか。
atlassian-cli bitbucket --workspace myteam pipeline trigger api-service --ref-name main を実行します。これで指定したブランチの既定のパイプラインが開始されます。bitbucket-pipelines.yml に定義した名前付きのカスタムパイプラインを実行するには、--custom-pipeline に続けてその名前を指定します。たとえば --custom-pipeline s3-access-test のようになります。
Bitbucket CLI コマンドで workspace フラグはどこに書きますか。
--workspace フラグは bitbucket の直後、サブコマンドの前に置きます。たとえば atlassian-cli bitbucket --workspace myteam repo list のように書きます。これによりリポジトリ、プルリクエスト、パイプライン、権限のすべてのコマンドがそのワークスペースにスコープされます。bitbucket の代わりに bb と書くこともできます。bb は組み込みのエイリアスです。
Bitbucket CLI の結果をスクリプト用に JSON で出力できますか。
はい。任意のコマンドに --format json(または -f json)を追加し、結果を jq にパイプできます。CLI は table、csv、yaml、markdown、quiet の各形式にも対応しています。--envelope を使うと、一覧の出力を data と count を持つオブジェクトで包めるため、後続の処理で扱いやすくなります。