Lesstep
Bitbucket Cloud・Data Center・REST API・2026年11月2日に確認

Bitbucket のプルリクエストをコマンドラインで

Bitbucket には、プルリクエストを扱う公式のコマンドラインの道具がありません。GitHub の gh pr create や、Azure CLI の az repos pr create に当たるものが無いのです。Atlassian CLI(acli)のコマンドは Jira・管理・Rovo Dev の3つで、Bitbucket はありません(コマンドの一覧)。使えるのは Bitbucket の REST API を1回呼ぶことで、curl でできます。下の例は、Atlassian の Bitbucket Cloud と Bitbucket Data Center 10.2 の API の資料に沿っています。

Bitbucket Cloud

スコープつきの API トークンを、アプリに Bitbucket を選んで作ります。プルリクエストを作るのに、Atlassian の資料が挙げるスコープは read:pullrequest:bitbucket と write:pullrequest:bitbucket です。API トークンで REST API を呼ぶときのユーザー名は、Bitbucket のユーザー名ではなく Atlassian アカウントのメールアドレスです(Using API tokens)。トークンを Authorization: Bearer で送れば、メールアドレスは要りません。

curl --request POST \
  --url 'https://api.bitbucket.org/2.0/repositories/{workspace}/{repository}/pullrequests' \
  --user 'you@example.com:{api_token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "title": "Login page",
    "source": { "branch": { "name": "feature/login" } },
    "destination": { "branch": { "name": "main" } },
    "reviewers": [ { "uuid": "{504c3b62-8120-4f0c-a7bc-87800b9d6f70}" } ],
    "close_source_branch": true
  }'

Bitbucket Data Center

個人の HTTP アクセス トークンを作り、Authorization: Bearer で送ります。Atlassian の資料によると、アカウントには両方のリポジトリの読み取りの権限(REPO_READ)が要ります。

curl --request POST \
  --url 'https://bitbucket.example.com/rest/api/latest/projects/PRJ/repos/my-repo/pull-requests' \
  --header 'Authorization: Bearer {token}' \
  --header 'Content-Type: application/json' \
  --data '{
    "title": "Login page",
    "fromRef": { "id": "refs/heads/feature/login", "repository": { "slug": "my-repo", "project": { "key": "PRJ" } } },
    "toRef": { "id": "refs/heads/main", "repository": { "slug": "my-repo", "project": { "key": "PRJ" } } },
    "reviewers": [ { "user": { "name": "charlie" } } ]
  }'

レビュアーを断られたとき

Bitbucket が受け付けないレビュアーが1人でもいると、呼び出し全体が失敗し、プルリクエストはできません。

この呼び出しがしないこと

この呼び出しを包んだコミュニティの道具はあります(上の2つなど)。どれも Atlassian のものではありません。

IntelliJ IDEA から Bitbucket のプルリクエストを作るなら

Pull Request Inbox for Bitbucket は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。Git メニューに Bitbucket のプルリクエストを作成… を足し、Bitbucket Cloud と Data Center で使えます。今いるブランチから、選ばなければメインのブランチへ、下書きにもできるプルリクエストを作ります。既定のレビュアーは Cloud でも Data Center でも自分で読んで足し、自分は外します。リポジトリの最近のプルリクエストから人も選べます。それでも Bitbucket が誰かを断ったら、その人たちを外してプルリクエストを作り、Bitbucket の理由を見せます。ブランチがまだ Bitbucket に無ければそう伝えて、先に IDE の push の画面を開きます。プルリクエストの作成・承認・マージは Pro(月 US$1.50・30日間の試用つき)、受信箱は無料です。画面は日本語です。

JetBrains Marketplace で入れる

Bitbucket・Jira・Rovo は Atlassian の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Atlassian・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:Bitbucket の既定のレビュアー · Bitbucket の下書きのプルリクエスト · English