INNOGAMES STORIES

Boggy – The friendly QA Robot

When it comes to people working together to build great games, the right tools can make all the difference. We are using many tools on a daily basis. Two of these tools are JIRA, for task and issue tracking in our projects, and Slack for easy and fast communication across the whole organization. And while many discussions happen on Slack, it is often a back and force between Slack and JIRA to get all the needed information and to update all relevant stakeholders.

Boggy connects JIRA and Slack by providing automated information on JIRA issues on Slack. This information can range from single issue information, to an overview of open bugs and notifications for newly created bugs. By connecting our tools we simplify the development process by enabling engineers, product managers, and QA teams to work together easily and ship great stuff.

How It All Began

Imagine you have JIRA open in your favorite browser and end up reloading the page every 5 minutes just to know if a new issue got created. You’d like some notifications about it, but are also not a fan of emails?

If you work in Slack or have a discussion there, you may find yourself constantly switching back and forth between Slack and JIRA just to look up specific information. Wouldn’t it be amazing to have this data right in Slack?

Your team constantly asks you about the quality state of the project and how many issues are open. How about providing them this information automatically on Slack?

We want to enable our teams to take ownership over the quality of their projects. Dashboards and email notifications are of a great help already but they have a specific use case. Dashboards, when shown on TVs, can provide an overview and a snapshot of the current issues in a project, but it requires active attention to look at it. Using email notifications for JIRA issues are good for notifying people but JIRA sends a lot of notifications so most team members have rules in place to filter JIRA notifications to just look at them once in a while, which does not work well when immediate attention is needed.

To improve our internal workflow on bug and bug and issue information we developed a Slack bot. Especially the integration to JIRA is one key feature to reduce the need for team members to open JIRA and to be always up to date on the quality of the project. Boggy does not only provide information upon request but can also provide information automatically based on provided schedules. You set them up once and Boggy takes care of the rest.

To Your Command

Boggy can help you with many commands. You can either talk to him directly or within a channel by addressing him with @boggy. Boggy will always listen to you and never be tired to answer your requests. Three of the most used commands are jira issue, jira issues and bug overview, but the full magic only happens  when using the scheduling of commands.

JIRA Issue

To get detailed information on a single JIRA issue you can use jira issue TEST-1234. This can fuel discussions as the most important information is directly accessible.

JIRA Issues

Most of the time it is also useful to get a list of matching issues as an overview, for example for critical issues or as a notification for new incoming issues. The query can be configured by many parameters such as the issue type, status, priority and many more. Even the layout itself is configurable.

Bug Overview

With this command you get a quick overview of the project quality by knowing the amount of all bugs, important bugs and a list of the high priority bugs.

Schedules

While all the above commands can be used individually they only unfold the true magic by scheduling them. Thus you can get a bug overview every morning right before standup, or get informed on each newly created bug automatically, ready to share the information with relevant stakeholders by simply forwarding the message.

A schedule consists of two information pieces – the cron at which interval the command should be executed, and the command itself which should be used.

  • schedule add <cron:0 10 * * 1-5> <command>overview bugs <project:test></command>
  • schedule add <cron:1/10 * * * *> <command>jira issues <project:test> <type:bug> <prio>blocker</prio> <option:created> <time:10m></command>

The first example posts a bug overview automatically every morning at 10am. No interaction or request to Boggy needed. With the second example you will automatically get a Slack message every 10 minutes of any new blocker bug created within the last 10 minutes. With these automatic messages and notifications our information flow on bugs greatly within the project.

Getting Started

You got curious about Boggy and want to see him in action? We made the setup as easy as possible by using a docker image and docker compose to lower the barriers on getting to know Boggy. The first step however is the needed configuration file. The configuration is a must have and we provided you an example configuration to make it more comfortable to set it up, please check the readme for detailed information on the configuration.

Quick Steps

All the Docker images are available on DockerHub while Boggy’s code is located on GitHub.

Conclusion

Boggy improved our information flow on bugs within the team greatly and I would not want to imagine working without him anymore. By now he has been adopted also by many other teams already and is supporting them in their mission on high quality.