This is Fundbase Nerds, written by the team behind Fundbase.

Go to Fundbase  

Deploy Process Integration with Hipchat

Posted by Tim Blonski on

At Fundbase, we love Hipchat as our internal messaging tool. But it can be so much more than a tool for communication. In this post, we’ll walk through how we integrate Hipchat into our development workflow and deploy process to ensure that everyone in the company (from development to operations to sales) has visibility into changes that are being pushed into production.

Deploy Environments

We have an integration (staging) and master (production) branch, with each branch being deployed to it’s own cluster. New code is always based off the integration branch and its server is only accessible to FB staff. When integration is in a production-ready state, we deploy to master which is our stable release branch and contains only production-ready code.

Using this workflow, our dev team is able to deploy to production multiple times per day.


We start by checking the state of integration:

@funbot deploy status

clear deploy

If green, we are cleared to merge, so we prepare the PR to master:

@funbot deploy prepare


The developer and PM must sign off on each task to be deployed. When all boxes are checked:

@funbot merge #1935


Upon success, the room is notified:


If merging to integration, the PR was approved by the reviewing dev and we only need to tell Funbot to merge the PR number.

Or notify the room of failure:


Deploy Guards

We guard against unapproved merges in two ways:

1 - If a feature is not cleared for deploy (it is not production ready because it has not been tested), the deploy prepare command will fail:

@funbot deploy status


@funbot deploy prepare


2 - The room topic sets to ‘Integration is Frozen’ when a build is running or we can manually set it if necessary. This is what Funbot uses to determine if a merge is cleared:



Yes, the Dos Equis guy polices our deploys.

Of course, there are scenarios where we want to override the guard, in which case we can add the --honeybadger flag:

@funbot deploy prepare --honeybadger

dep-hb-1 dep-hb-2 dep-hb-3

Similarly, when merging to integration:

@funbot merge PR_NUMBER --honeybadger

Having an effective, evolving, and fun development process is a staple of how our engineering team works. We believe you should get excited not just about the code you write, but also about the process along the way. Integrating our process with Hipchat has been key in achieving this and we could not imagine developing our software without it.

Tim Blonski

Tim is a Fullstack developer at Fundbase.