Not long ago, I wrote the first installment of my Step-by-step guide to “Getting Started with ChatOps”. That specific post focused on understanding several of the popular chat clients that many are using as they begin to adopt ChatOps into their teams and organizations.

Now that we’ve discussed some of the popular chat clients, we should spend a little time looking at a handful of the more well-known bots available today. Chatbots have been around for some time now, but it’s not been until more recently that they have been tasked with helping DevOps teams with many of the repetitive tasks, clearing precious cycles for our best and brightest to focus on more important issues and projects.

hubot
Hubot

If you are familiar at all with ChatOps, you likely know about Hubot. Originally developed by GitHub and later open-sourced for all to use, modify, and improve upon, Hubot is one of the most well-known and widely used bots available today.

Written in Node.js, Hubot executes commands written in JavaScript or CoffeeScript. Teams familiar with this environment and language will feel right at home as they begin to implement Hubot. With an extensive and growing community providing a variety of useful and fun scripts for others to adopt to their own specific situations, there is no shortage of resources available on Hubot.

In the Summer of 2014, VictorOps introduced a Hubot integration for teams already taking advantage of this bot, allowing for users to execute commands from either their own chat client or the VictorOps timeline. Providing valuable context to the conversation and shortening the feedback loop can be critical to on-call teams as they troubleshoot an incident. Hubot (and ChatOps in general) have been instrumental in many teams increasing their efficiency and decreasing MTTR (Mean Time to Resolution). Due to it’s origins, Hubot is synonymous with ChatOps. Still, there are other bots available today that are equally useful and powerful to teams.

Lita
Lita

Teams more familiar or interested in the Ruby programming language may want to take a good look at Lita. Also an open source project, Lita has quickly gained the attention and adoption of many DevOps teams looking to implement a bot to provide better insight to their infrastructure and manage some of the repetitive tasks. Highly extensible through a variety of plugins and immediately ready to integrate with all the popular chat clients outlined in my previous post, Lita shows a lot of promise in the DevOps space. Extensive documentation and a growing community have helped to quickly bring Lita into the discussion as well. I look forward to seeing what innovations Lita brings to the chatbot space in 2015.

Err
Err

Pronounced “R2”, this chatbot provides much of the same functionality to teams who prefer Python over either JavaScript or Ruby. Err has been around since 2012 and like the others mentioned above, is also open source. Extensible through plugins (which are simply Python modules), Err has an interesting feature that allows users to modify it’s configuration directly from chat. As ChatOps begins to take hold in teams large and small, I expect to see more development and contribution towards Err.

Others

The chatbots mentioned here are by no means a complete list. In fact there have been many bots in existence for a while and more coming in the near future. I have provided the most well-known and those used by teams actively participating in the conversation and advocacy of ChatOps to date. I highly suggest spending a fair amount of time understanding the differences between bots available to you.

In my next post, I’ll outline a variety of scripts and actions that DevOps teams are taking with their bots.  By examining sample scripts and understanding what it is they do and how, I hope that you’ll understand ChatOps to an even greater degree. Stay tuned for part 3 and if you’re interested in getting an advance copy of my book, Chatops For Dummies, be sure to sign up here.