Bitbucket のプルリクのタスク
タスクは、プルリクに付ける「やること」です(「テストを足す」「変更履歴を書く」など)。単独でも、コメントにぶら下げても作れ、済んだら解決にします。マージチェックで、未解決のタスクが残る間はマージを止めることもできます。Bitbucket Cloud にも Bitbucket Data Center にもタスクと既定のタスクがありますが、しまい方と設定の場所が違います。以下は Atlassian の プル リクエストでコードをレビューする・マージ前のチェックを提案または必須にする(Cloud)、Commenting on a pull request・Default tasks・Checks for merging pull requests(Data Center 10.5・英語)と、2つの REST リファレンスからまとめたものです。
Bitbucket Cloud
- 作り方:コメントから作る時は、タスクにしたい文字を選んで Create task、またはコメントの下の Create task を押して内容を書き Save。読み取り権限があれば、他人のコメントからもタスクを作れます。プルリク全体のタスクは、右のサイドバーの Task カードのいちばん下の Create a task から。
- 誰が何をできるか:Atlassian のページでは、レビュアーはタスクを作って解決でき、プルリクの作成者とリポジトリの管理者はタスクを編集・削除できます。
- どこに出るか:サイドバーの Task カードに並びます(コメントのタスクの横のリンクの印で、そのコメントへ飛べます)。Overview タブのアクティビティにも Tasks の絞り込みがあります。
- マージチェック:No unresolved pull request tasks(未解決のプルリクのタスクがない)。Repository settings > Branch restrictions で、ブランチかブランチのパターンごとに付けます。Premium プランでなければ、満たしていなくても警告だけでマージはできます。Premium では Prevent a merge with unresolved merge checks でマージを止められます。
- 既定のタスク:Repository settings > Default tasks(2022年7月に告知)。新しいプルリクすべてに付き、一覧を変えるとその後のプルリクから変わり、すでに付いたプルリクのタスクは残ります。上限は1リポジトリ 50 件、1プルリク 100 件(コメントのタスクも含む)。設定は Web の画面からだけです。API の要望 BCLOUD-22783(「Add API for Pull Request Default Tasks」・2023年7月)は、2026年10月26日の時点で Gathering Interest のままです。
- REST API:
GET …/2.0/repositories/{workspace}/{repo_slug}/pullrequests/{id}/tasksで一覧(1ページ最大100件・sortとqで並べ替えと絞り込み・既定は古い順)。POST …/tasksに{"content": {"raw": "…"}}で作成、"comment": {"id": …}を付けるとそのコメントの下に出ます。PUT …/tasks/{task_id}に{"state": "RESOLVED"}で解決、"UNRESOLVED"で再オープン、DELETEで削除。タスクにはstate・content・creator・resolved_by・resolved_on・pending(まだ公開していないレビューの中のタスク)が入ります。 - タスクの ID は 64 ビットです。公開リポジトリでは 2026年10月の時点ですでに20億を超え、32ビットの符号付き整数の最大(2,147,483,647)に近づいています。32ビットの整数で受けているスクリプトは、そろそろ溢れます。
Bitbucket Data Center
- 作り方:プルリク全体・ファイル・1行・選んだ複数行に、内容を書いて Create task。コメントをタスクに、タスクをコメントに変えることもできます。タスクには Markdown・画像・添付が使えます。レビューの途中で書いたタスクは、レビューを公開するまで保留で、自分にしか見えません。
- 解決:タスクの横のチェックボックスを入れます。Shift+T か Open tasks list で、未解決と解決済みのタスクが並び、View on のリンクで作った場所へ飛べます。
- タスクはコメントです。Bitbucket 7.0 から、タスクは重要度(severity)が
BLOCKERのコメントです。古い/tasksの REST は 7.2 で非推奨になり、8.0 から 404 を返します。代わりにコメントの REST を使います。…/pull-requests/{id}/blocker-commentsで一覧(states=OPENかRESOLVED・count=trueで件数だけ)、PUT …/comments/{commentId}にコメントのversionと"state": "RESOLVED"で解決("OPEN"で再オープン)、"severity": "BLOCKER"か"NORMAL"でコメントとタスクを行き来します。REST リファレンスでは、コメントの文を変えられるのは書いた本人だけ、それ以外の項目を変えられるのは書いた本人・プルリクの作成者・リポジトリの管理者です。 - マージチェック:No incomplete tasks(「マージの前にすべてのタスクの完了を求める」)。プロジェクト全体は Project settings > Merge checks、1つのリポジトリは Repository settings > Merge checks で。
- 既定のタスク:Project settings か Repository settings > Default tasks > Add a default task。ソースとターゲットのブランチで絞れ、両方 Any branch なら全部のプルリクに付きます。プルリクを開いた時にユーザー「Bitbucket」が付け、プルリクのターゲットブランチが変わると付け直します。プロジェクトの既定のタスクは配下の全リポジトリに付き、リポジトリは自分のものを足せますが、プロジェクトのものは外せません。編集はその後に開くプルリクから効き、消した既定のタスクも、すでに付いたプルリクには残ります。
- 既定のタスクの REST:
…/rest/default-tasks/latest/projects/{projectKey}/tasksと…/projects/{projectKey}/repos/{repositorySlug}/tasksに GET・POST・PUT・DELETE。変えるにはプロジェクトかリポジトリの管理者の権限が要ります。既定のタスクのsourceMatcherとtargetMatcherは、どのブランチでも・ブランチ・パターン・ブランチモデルの種類かブランチ、から選びます。
IntelliJ IDEA でタスクを見る
Pull Request Inbox for Bitbucket は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。自分のレビューを待っている Bitbucket Cloud と Bitbucket Data Center のプルリクを IDE のツールウィンドウに並べます。1.0.40 から、プルリクの概要のマージチェックの上に「タスク(3 件中 1 件解決)」とタスクを出します。未解決のものが先で、解決済みには解決した人が付きます。Data Center では、タスクにしたコメントがここに出ます。1.0.40 より前は、マージチェックがタスクを待つことがあるのに、Bitbucket Cloud のタスクはどこにも出ていませんでした。タスクとマージチェックを見るのは無料、タスクの解決と再オープンは、承認・コメント・マージと同じく Pro(30日間の無料試用つき)です。画面は日本語です。
Bitbucket は Atlassian Pty Ltd の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Atlassian・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:Bitbucket のマージチェック · コメントの解決 · 既定のレビュアー · 「変更を依頼」と Needs work · プルリクのビルド · English