June 8, 2015
by James Fryman
I am pleased to announce the availability of our new platform feature, ChatOps.
It’s true, yes. We have had ChatOps support for quite some time. However, a while back after receiving user feedback, we decided to give what we had built a good once over. To that end, ChatOps is dead. Long Live ChatOps! What we are releasing today is the result of these efforts.
ChatOps is a new operational paradigm where work that is already happening in the background today is brought into a common chatroom. In doing so, you are unifying the communication about what work should get done with actual history of the work being done. Deploying code from chat, viewing graphs from a TSDB or logging tool, or creating new Jira tickets are all examples of tasks that can be done via ChatOps.
Not only does ChatOps reduce the feedback loop of work output, it also empowers others to accomplish complex, self-service tasks that they otherwise would not be able to do. Combining ChatOps and StackStorm is an ideal combination, where from Chat users will be able to execute actions and workflows to accelerate the IT delivery pipeline. In the same way, the ChatOps/st2 combination also enhances user adoption of automation through transparency and consistent execution.
The end result is improved agility and enhanced trust between teams. What’s not to love about this? It’s the reason we as a company are devoted to including it as a core part of our product.
We absolutely do! There are some fantastic projects out there that have ushered in this movement. Namely, the three major bots: Hubot, Lita, and Err. Each of these projects has several fantastic integrations with popular services and applications already. Our goal is not to replace these, but rather integrate.
What StackStorm brings to the table to enhance the current ChatOps experience:
And coming soon:
Our goal is to make ChatOps approachable by every team in every circumstance. This means an understanding of how teams of all sizes run, in many different types of verticals. Issues like compliance, security, reliability… these issues are on our mind when we think about what ChatOps means to us, and how, in turn, it provides real-world value to you.
To be specific, today we released the
hubot-stackstorm plugin. This plugin allows a new or existing Hubot installation to natively interact with StackStorm via Hubot commands. We will be releasing other bot plugins in the upcoming weeks.
Ok, enough of that! I just wanna get started…
We have two ways for you to get started with StackStorm + ChatOps today. The first of which is via our
st2workroom project. This project is designed to help you get started with StackStorm and ChatOps within minutes. If you have Vagrant and VirtualBox, you can get started immediately:
cd ~/ git clone https://github.com/StackStorm/st2workroom cd st2workroom [Edit hieradata/workroom.yaml, see https://github.com/stackstorm/st2workroom#chatops] vagrant up st2express
This will provision and start up StackStorm + Hubot connected to your configured Chat Service. From there, you do any and all of the things we’ve shared with you today.
We also have instructions for setting up ChatOps with an existing StackStorm installation installed via
st2_deploy.sh, our Puppet Module, or our Chef Module. Take a look at the install instructions located at https://github.com/StackStorm/st2/blob/master/instructables/chatops.md. Pay special attention to the environment variables for Hubot and the packs needed to be installed in StackStorm
Once you’re all set up, and you have your bot set up, it’s time to set up your first ChatOps command. Let’s do the first one together. I’m going to start with something easy. How about a troubleshooting command. Let’s take a command from the Linux pack and enable it to be used in ChatOps. We’ll do it using ChatOps commands too!
Create a new pack! This is super easy. Just fork our pack template repo and get started. Once that’s done, create a new YAML in the
aliases folder with a name, the StackStorm action you want to execute, and the ChatOps Aliases you want them exposed as.
Once this is done, make sure the code is committed to your source code repository. Then, head back to your fresh new ChatOps and deploy your new pack to your server.
!pack deploy st2-google repo_url=jfryman/st2-google
Reload StackStorm, and in a few moments, Hubot will update itself and have access to the new alias. The command is ready to run in ChatOps.
That’s it. Really! One of the things we tried to do is to make this as easy as possible to get started. You’re busy – we get it. We want this tool to help provide you actual value, and that means ensuring it is easy to use and get started.
We have a lot of resources that we’ve put together showing off StackStorm and ChatOps, and sharing our general philosophy in more depth about ChatOps and why we think it’s important. Take a look at any of these resources to learn more.
We firmly believe in the power of ChatOps as it pertains to so many facets of automation adoption and integration, and today’s feature release is our statement of commitment to these ideas. Over the coming days and weeks, we’ll be releasing additional articles showing off the power of ChatOps and how it can make your daily operations easier, less stressful, and dare I say… fun!
We also have several additional features and plans coming up as we gear up for our 1.0 release later this year, including Role Based Access Control and Analytics. Be sure to take a look at our Roadmap and stay subscribed to our blog
Of course, we at StackStorm absolutely love talking about ChatOps, Event Driven Automation, and Automation in general! If you find yourself wanting to ask questions or chat with us, you can always find us on IRC at #stackstorm where we hang out. There you can give us feedback, ask us questions about ChatOps, or just come and hang out and be merry! Likewise, follow us on Twitter at@Stack_Storm, or get involved with the discussion with the hashtag #stackstorm. You can also send us an email at moc.mrotskcatsnull@troppus.
On a personal note: I am not bashful in sharing my joy for ChatOps and how it can transform how you get things done. We did our best to capture all that makes ChatOps wonderful in this release. My hope is that you find similar joy with the tools that we are building.
Until next time!