Six great features we didn’t ship

By on August 16, 2016

Last year at AtlasCamp we shipped a new integration framework named Bitbucket Connect. Unlike traditional REST APIs, Connect allows you to embed new pages and features directly within the Bitbucket UI via securely signed iframes. It’s kind of like OpenSocial, but with less XML and a far deeper integration with Bitbucket’s feature set. We’ve been using Connect internally to build out new features like Bitbucket Pipelines as independent, full-stack microservices. But even cooler than that: Bitbucket fans have been busy shipping their own user-contributed features to the Bitbucket add-on directory!

Here are six of my favorite Bitbucket features that teams outside of Atlassian shipped this year:

Kanban boards for Bitbucket

Two teams have independently built Kanban-style boards for managing your Bitbucket issues. Kanban boards are great for teams, as you can quickly see which team members are assigned to which issues, and what state the issues are in. Boards also allow users to easily update issues as they progress through your workflow.

Bucket Board provides a simple drag-and-drop board with your issues organized into columns by status:

Bucket Board for Bitbucket Cloud

I typically stick to a simple three column layout, but Bucket Board allows you to configure which status columns are visible based on your workflow needs.

Install Bucket BoardRead more

Canvas for Bitbucket is another add-on that provides drag-and-drop boards. It has a few extra features, including BBQL-powered quick filters to restrict which issues are displayed, and the ability to map columns and swimlanes to arbitrary issue attributes:

Canvas for Bitbucket Cloud

You can have both add-ons installed at the same time, so try ’em out and see which one suits your team best.

Install CanvasRead more

Static site hosting

Bitbucket has a slightly hidden feature that allows you to expose a repository’s contents as a static website. A couple of Seattle-based developers decided they could do better, and built Aerobatic: a GitHub Pages-style static site deployment engine on top of Bitbucket.

Aerobatic for Bitbucket Cloud

Aerobatic supports automatic building of Jekyll sites from any branch in your repository, just like GitHub Pages. Unlike GitHub Pages, they also support Jekyll plugins, Hugo, Wintersmith, and arbitrary npm builds for your site. Aerobatic also have a neat feature where you can serve multiple branches from the same repository on separate subdomains, so you can stage changes to your project’s website before pushing them to production.

Aerobatic do ask a modest fee for their services, but they’ll give you two sites for free (making it a great place to host your personal blog).

Install AerobaticRead more

Charts

As you may have gathered, Bitbucket’s core focus is professional teams. As such, we’ve focused our backlog on features like branch permissions, performance, and perfecting the pull request experience; rather than some of the more fun social features like contributor statistics. Statistics are great for open source projects, and are a handy way to quickly see who has contributed to a particular project. However they’re less useful (or sometimes even dangerous, in the wrong hands) in a professional context: LOC, blame, and commit counts aren’t a great way to measure developer productivity.

But if you dig charts, you’re in luck! A small team of developers from Belarus have shipped some pretty sweet looking charts for Bitbucket. Awesome Graphs (a port of a popular Bitbucket Server add-on) gives you contributor statistics, commit volume over time, and a punch card chart showing what times of day your team is committing code:

Awesome Graphs for Bitbucket Cloud

Install Awesome GraphsRead more

PaaS

Platform.sh is a PHP PaaS that monitors your Bitbucket repositories and deploys the head of each branch to a separate staging environment for testing. This is handy for quickly sharing your work with clients or teammates. It also means pull request reviewers can simply click a link to do some exploration testing of your new feature, rather than having to pull and deploy your code themselves.

Platform.sh PHP PaaS for Bitbucket Cloud

For better or worse, I don’t PHP these days, though last I checked ~20% of Bitbucket repositories where the owner had declared a language were PHP. However if someone was interested in building or integrating a Node.js PaaS with Bitbucket Connect I’d be very interested in chatting 😉 Lucky for me, Platform.sh now supports Node.js, Ruby, and Python as well!

Install Platform.shRead more

File rendering

The team behind Awesome Graphs also shipped File Viewer for Bitbucket: an add-on that uses Bitbucket’s File View API to render PDFs, CSVs, GeoJSON, and 3D models. Their latest update includes experimental support for the powerful AutoDesk Forge viewer, which lets you rotate, measure, and explode 3D objects tracked in your Git repositories:

File Viewer for Bitbucket Cloud

On a slightly more frivolous note, you could also check out this file viewer that renders your source code as a platform game (my high score is 0x0000461c).

Install File ViewerRead more

Try ’em out!

I’m blown away by the high quality of the features that Atlassian didn’t ship on the Bitbucket Connect platform. If these seem useful for your software projects, check out the Bitbucket add-on directory for a more complete listing of the neat features and integrations available for your Bitbucket account. You’ll need to sign up for a free Bitbucket account (if you haven’t already!)

Sign up for Bitbucket

If you’re working on a Bitbucket feature yourself, or just want to get started with Connect, I’d love to hear about it. Drop me a line on Twitter: I’m @kannonboy.

4 Comments

  • Posted August 16, 2016 at 11:15 am | Permalink

    Lo and behold, Platform.sh supports node.js. ; ) https://platform.sh/hosting/nodejs/

    • Tim Pettersen
      Posted August 16, 2016 at 10:58 pm | Permalink

      Thanks Ryan! That’s awesome. I’ve updated the article to include Platform.sh’ Node, Ruby & Python support.

  • Grill
    Posted August 22, 2016 at 7:30 am | Permalink

    Does that mean we are giving read access to 3rd parties to our code base? We have concerns about this.

    • Tim Pettersen
      Posted September 7, 2016 at 3:57 pm | Permalink

      Hi Grill, I can certainly understand you’d have concerns about granting access to your source. Each vendor has a data security and privacy policy defined on their Marketplace listing (accessible via the “Read more” links above).

      In addition, each add-on is strictly scoped to the permissions they require, which are listed before you install the add-on. For example, the Canvas add-on only requests permission to access your repository’s issues and account information, so it can’t actually read your source code.