One review board for every open Bitbucket pull request

By General Input

See every open pull request across all your Bitbucket repositories in one place, grouped by reviewer, with the ones that have been sitting too long flagged in red.

Integrations

  • Bitbucket
  • Slack Bot

Type

App

Categories

  • Engineering

Build me an app my engineering team opens every morning to work our code review queue across all of our Bitbucket repositories. Bitbucket has no cross-repo pull request dashboard, so today we click into each repository one at a time to find what is waiting on us. This app should be the one screen that replaces that.

The main view is a board of every open pull request in the workspace. Load it by calling List Repositories in Workspace to get the repositories the connected user can see, then List Pull Requests for each one, keeping only pull requests in the OPEN state. Let the person configure which workspace to read and optionally narrow to a subset of repositories, since large workspaces have archived repos nobody reviews.

Organize the board into three columns: waiting on review, changes requested, and approved but not merged. Derive the column from the reviewer participation on each pull request, which comes back on the pull request record and in List Pull Request Activity: if a reviewer has recorded changes requested it goes in the middle column, if it has the approvals it needs but is still open it goes in the third column, otherwise it is waiting on review. Within each column, group the cards by reviewer so each person can see their own stack.

Each card shows the pull request title, the repository it belongs to, the author, the assigned reviewers, and its age in business days. Add the comment count from List Pull Request Comments and the number of still-unchecked items from List Pull Request Tasks, since a pile of unresolved comments or open checklist items is the real signal that a review is stuck. Business day math should skip weekends. Flag any pull request that has been sitting more than two business days in red, where sitting means business days since the last reviewer activity on it, falling back to when it was opened if no reviewer has touched it yet.

Every person should be able to toggle the board down to just the pull requests where they are the reviewer, so the same app doubles as a personal queue. Remember each person's own choice of that toggle, along with which Bitbucket account is theirs, so the filter works without them re-selecting themselves every morning.

Clicking a card opens a detail pane built from Get Pull Request for the full record including description, branches and reviewers, List Pull Request Commits for what is actually in the change, and List Pull Request Activity for the review history in order. Show the comments from List Pull Request Comments threaded in that pane so someone can read the discussion without switching tools.

From the detail pane I want three write actions. Post a review comment with Create Pull Request Comment. Add a checklist item with Create Pull Request Task, which is how we track follow-ups we do not want to block on. Attach another reviewer with Update Pull Request, which edits the reviewer list on an open pull request. After any of these, refresh that card so the counts on the board stay honest.

Add a nudge button on each card that sends the assigned reviewer a Slack direct message containing the pull request title and a link to it. Resolve the reviewer to a Slack account with Look Up User by Email using their Bitbucket email, open the direct message with Open a Conversation, then post it with Send a Message. Keep the tone light, and do not let the same person be nudged about the same pull request more than once a day.

Important: do not build approve, decline, or merge buttons into this app. The actual sign-off stays in Bitbucket. Instead give every card and the detail pane a prominent link straight to the pull request in Bitbucket, so the flow is read the board here, decide what to pick up, then jump over to approve or merge.

One performance note to design around: a workspace with many repositories, each with open pull requests that each need comments and tasks fetched, adds up to a lot of calls, and Bitbucket rate limits per hour. Load the board in as few round trips as you can, fetch comment and task counts efficiently rather than one card at a time where possible, cache the results for the session, and give the board a manual refresh button rather than re-fetching everything constantly.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them