Bitbucket の下書きプルリクエスト:レビューに出す方法・通知・API
下書きのプルリクエストは作業中であることを示します。レビュアーは見てコメントできますが、レビューに出す(Mark as ready)までは、手でも自動でもマージできません。Bitbucket Cloud には2025年4月2日からあります(BCLOUD-12503・2016年に起票・1,903票)。Bitbucket Data Center には 8.18.0 からあります(BSERV-4262・526票)。
作成・レビューに出す・下書きに戻す
- レビューに出す。どちらも下書きに「Mark as ready」のボタンがあります。押すとほかのプルリクエストと同じようにマージでき、アクティビティには READY FOR REVIEW と出ます。下書きの間についた承認や変更依頼はそのまま残ります(Cloud の説明・Data Center の説明)。
- 下書きに戻す。プルリクエストの操作メニュー(…)の「Mark as draft」です。アクティビティには DRAFT と出ます。Cloud では、下書きとして作らなかったプルリクエストも含め、開いているものなら戻せます(Atlassian の告知)。
- 作成。Data Center では、プルリクエストを作るときに「Create as draft」を選びます。
- Data Center の一覧では下書きが隠れます。プルリクエストの一覧は、「Show drafts」を選ぶまで下書きを出しません。
- ビルドは走ります。Data Center の説明では、Bamboo は下書きもほかのプルリクエストと同じようにビルドします。
誰に通知が行くか
ここは2つで違います。Cloud では、下書きに足したレビュアーには、レビューに出すまで通知が行かず、出した時にメールが届きます。Data Center では、足したレビュアーにすぐ下書きについてのメールが届き、レビューに出した時にもう一度届きます。Data Center でまだ知らせたくない相手は、後から足してください。
REST API から
- Cloud。プルリクエストには
draftの項目があり、作成と更新(PUT /2.0/repositories/{workspace}/{repo_slug}/pullrequests/{id})で渡せます。公開して間もなく、state=OPENの一覧が下書きでないものしか返さないことがありました。4月9日に報告され、2025年4月15日に直っています(BCLOUD-23659・回避策はq=state="OPEN" AND (draft=true OR draft=false))。 - Cloud:いないレビュアーがいると更新できません。プルリクエストのレビュアーの誰かが抜けたり無効になったりしていると、何を変える更新でも 400 の「Malformed reviewers list」で断られ、そのレビュアーを外すまで通りません(BCLOUD-23093・未解決)。API から下書きをレビューに出す時も同じです。
- Data Center。一覧(
GET /rest/api/latest/projects/{key}/repos/{slug}/pull-requests)はdraftで下書きだけ、または下書き以外だけを返せます。更新(プルリクエストへのPUT)は 8.18 からdraftを受け取り、falseでレビューに出します。送らなければ下書きかどうかは変わりません。 - Data Center:更新はレビュアーを送った通りにします。送ったレビュアーがそのまま一覧になり、送らなかった今のレビュアーはただの参加者になります(PullRequestUpdateRequest)。更新にはプルリクエストの今の
versionも要り、古いと古い情報に基づく変更として断られます。先にプルリクエストを読み、タイトル・説明・レビュアーを"draft": falseと一緒に送り返してください。
IntelliJ IDEA での下書き
Pull Request Inbox for Bitbucket は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。Bitbucket Cloud と、ベータ版として Bitbucket Data Center 8.9 以降のプルリクエストを IDE のツールウィンドウに並べ、下書きには [draft] と付けます。いまのブランチからプルリクエストか下書きを作れ(下書きは Data Center 8.18 以降)、1.0.36 からは「レビューに出す」のボタンで下書きをレビューに出せます。その時、タイトル・説明・レビュアーは今のまま送り返します。レビューの受け箱・差分・議論・マージチェックは無料、承認・コメント・マージ・レビューに出すのは Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。
Bitbucket と Atlassian は Atlassian の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Atlassian・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:却下と再オープン · 自分のレビュー待ちを全部見つける · Bitbucket のマージチェック · Bitbucket のコードの提案 · IntelliJ IDEA で使える Bitbucket のプルリクエストのプラグインの比較 · English