I love pull requests

No, really: I love pull requests. But I’ve learned to be more than a little nervous when accepting them. If only I had a dollar for every time an innocent-looking pull request completely threw the spanner in the works, broke every build, and had my team Nerf-pelting me because of the test failures. I’d be a rich man who wouldn’t have to sling code for a living!

To avoid being subjected to guerrilla Nerf warfare, I need to check the build status of the development branch before approving the request. So I go back to my Bamboo server and find the associated branch build. Scanning the history, I can see the results of builds triggered by the commit in question.

If the tests passed, I accept the pull request and merge into master (woo-hoo!). If they failed, I fire a warning shot across the office to the perpetrator. Time spent: 5 minutes (add another 5 minutes if its an unusually enthusiastic Nerf battle).

Cease fire!

We wanted a better way to see whether the changes in the pull request are passing the build. A way that takes less time and does not run the risk of a full scale Nerf armageddon.

So the Bamboo and Stash team got together and built a Notification plugin. Using Stash’s new Build Status API, Bamboo sends a build’s result over to Stash. Stash then cross-references the commits included in that build with any open pull requests. If a match is found, a simple pass or fail icon is displayed as part of the pull request. Bingo: the info we need, right where (and when) we need it.

pull-request-1

Checking the build status in Stash before you accept the pull request

Ready to try it yourself?

The Bamboo Stash plugin is a free download via the Atlassian Marketplace for all Bamboo 4.3, 4.4 and Stash 2.1 customers. Hurry over and “Git” it before Nerf-ageddon strikes you!

Get the Stash plugin for Bamboo