Using Hipchat with Hubot to communicate clearly and complete simple tasks

At Linchpin we use HipChat by Atlassian to handle most of our internal (and some of our client facing) communication. HipChat comes in handy as a replacement for GoogleTalk/Hangouts, Skype, and even some of our email. Slack is another app our team evaluated as well and ultimately we decided for the time being we’d stick with Hipchat. Our decision at the time was mainly due to guest access to private rooms.

Well what is HipChat?

HipChat and Slack are glorified chat clients with a mix of IRC, Hangouts, and video chat. Each come with tons of integration and customization options.

Regardless of which one you choose, each have great features. One of the best over all features of HipChat and others is the ability to utilize “chat bots”.

How Linchpin uses it – Work more efficiently and save time

GitHub has created the awesome Hubot XMPP chat bot. It allows our team a bit more flexibility to ask our “Pinbot” (my not so clever rename for Hubot) to take care of tasks. Sometimes these tasks would take a Developer only a few minutes or even seconds to accomplish, but aren’t necessarily the easiest tasks for Designers, Project Managers, etc. Typically the tasks I refer to are tasks that revolve around interacting with our servers or with an external API.

There are a ton of useful little pre-made scripts for Hubot and it’s really easy to create your own with a little bit of CoffeeScript or JavaScript know how. I honestly found that after a bit of tinkering, it was easier to write out our custom scripts in CoffeeScript to simply stay in line with the “standard” library of scripts that are available online.

Before we get into the wonderful scripts that are available out there and some of our team’s favorites, You should probably get started setting up your own Hubot / Hipchat setup. I was able to get up and running relatively quickly (about 30 minutes). Granted I did already have Hipchat and Heroku accounts (each take seconds to setup).

GitHub has an amazing walk through for getting Hubot setup and running on Heroku (for free) take a look and get setup. This post will still be here when you get back.

Once you are up and running the fun really starts

Some of the Linchpin team’s uses for Hubot/Pinbot

  • Allow us to quickly look up an issue within our Atlassian Jira instance simply by mentioning the issue ID.
  • For some of our complex Magento setups we have simple commands for clearing out server/varnish cache, reindexing data remotely for Magento, etc. (I plan on doing a post on this next month.)
  • HipChat has built-in integration to notify rooms on code commits from GitHub or BitBucket that are very easy to setup.
  • We’ve tied our JIRA work flows into Hipchat notifications.

Here is a list of a boatload of pre-made scripts that come along with Hubot and can easily be enabled when you configure Hubot for your usage. If you search GitHub you’ll find a ton more.

  • Need a script for animated sarcastic slow claps? Hubot’s got you covered.
  • Need the perfect image search displayed in a given room? Hubots got you covered (from tons of libraries, Google Image, Imgur and more).
  • Need a script to find a song on Spotify or change what is playing on the wifi/bluetooth speakers in your office? Hubot’s got you covered.

I guess this ends my infomercial. As I said earlier in this post – I’ll be giving a break down of some of our in house Hubot CoffeeScript’s we’ve written in the next month.

Aaron Ware

For nearly 20 years Aaron Ware has worked with leading brands, start-ups and everyone in between to develop innovative, highly interactive, feature-rich websites, and online apps.

| @aaronware