Extension Icon

Bitbucket Search

The extension allow you to quickly access repositories, pipelines and pull-requests in Bitbucket
AvatarFrançois LP
4,277 Installs
Overview

Bitbucket

Raycast extension to search repositories, check pipelines status, open recent Pull Requests, and more to come.

Find this extension on the Raycast store raycast-extensions is released under the MIT license. PRs welcome! Open in Visual Studio Code

showcase

Features

  • Quick access to your repositories
  • Search your recent pipelines and see their status
  • See your recent open pull requests
  • Get Bitbucket notifications in the menu bar (see below)

Notifications

The Notifications menu bar command (macOS only, as Raycast menu bar commands aren't available on Windows) shows a count of unread notifications and lists them in the menu. Bitbucket Cloud has no notifications API, so they are derived from your pull requests and repository activity of the last 7 days:

  • Review requested from you on a pull request
  • Approvals and requested changes on your pull requests
  • Comments on pull requests you authored, and @ mentions of you on pull requests you authored or review
  • Your pull requests that were merged or declined
  • Pipelines you started that failed

Click a notification to open it (this also marks it as read), hold ⌥ to only mark it as read, or use Mark All as Read. Read state is stored locally. If some repositories fail to load (for example because the API token lacks a scope), the menu says that the list may be incomplete.

The command refreshes every 30 minutes and sends a few requests per repository (plus one per recently active pull request you author or review). On large workspaces, lower Max Repository Age (Days) in the command preferences (default 30) to skip dormant repositories. You can also hide the menu bar item when there is nothing new (Always Show) and toggle the count (Show Notification Count).

Getting started

  • Generate a Bitbucket API token with read:* scopes, or narrow to:
    • read:workspace:bitbucket
    • read:user:bitbucket
    • read:repository:bitbucket
    • read:pullrequest:bitbucket
    • read:pipeline:bitbucket (needed for pipeline status and failed-pipeline notifications)
    • write:pullrequest:bitbucket (needed to approve, decline, or request changes on pull requests)
  • Start a bitbucket command and fill the required fields:
    • Workspace: You can see your workspaces here, and use the slug. You can find it in the URL of your workspace: https://bitbucket.org/{organization}/
    • Account email
    • API token

Now you should be able to run Bitbucket commands with Raycast 🚀.

Roadmap

  • Use the Bitbucket Client NPM package instead of hardcoding the API
  • Show commit name in pipelines title
  • Addd pagination navigation to pipelines
  • Dashboard with overview of differents queries (PRs, pipelines, etc)
  • Extend pipelines capabilities to see logs & rerun a failed/stopped one
  • Test performances with high number of repositories (only tested with 38 until now). And if bad performances, check:
    • Add pagination navigation to repositories
    • Load all repos in background and keep a cache of all of them (as repositories are quite static resources)
    • Only keep the field needed, to reduce JSON answer size

Extension built & tested for Bitbucket Cloud

Bitbucket API resource: https://developer.atlassian.com/cloud/bitbucket/rest/intro/

Bitbucket Client API resource: https://bitbucketjs.netlify.app/