We all experience it regularly: a build is broken. What now? The build was triggered by several commits. But which commit is responsible for the broken build?

What it does

This Bamboo plug-in detects a broken build and automatically runs git bisect on it. By using binary search, it is able to find a broken build much faster than testing every individual commit since the last successful build.

How I built it

I built the Bamboo plug-in with the help of the Atlassian plug-in SDK. The plug-in is written in Scala.

Challenges I ran into

Formatting the commit hash with a repository viewer to link to the underlying SCM (e.g., Bitbucket Cloud) was quite challenging.

Accomplishments that I'm proud of

I like that the plug-in shows all relevant information about the responsible commit in the build results overview page. I also like that the commit hash is linked to the viewer of the build plan's repository type so that the developer can immediately see what changes might have caused the failed build.

What I learned

A lot about the secrets of Bamboo's Java API.

What's next?

  • Support for running only the failed tests during git bisect's run
  • Automatically assign the author of the commit who broke the build as the responsible person with Bamboo's "assign responsibility" feature

Built With

Share this project: