Since late February 2018, the group chat and instant messaging tool Hangouts Chat has been available to all clients as a core service of Google G Suite. This expanded the market overnight, adding a highly attractive competitor to Slack, Hipchat and the like – and we have also given the new solution more than just a cursory glance. We now use Hangouts Chat business-wide as our messenger program.
Where we’ve come from – Hipchat
For many years, //SEIBERT/MEDIA teams used Atlassian's Hipchat as the “official” solution for internal real-time chat communication: all employees were to be reachable by Hipchat and were to use it to respond to team enquiries.
However, over time and for various reasons, new channels kept being added as we experimented. If an alternative solution proved better suited to a team or group in particular scenarios, we used it.
However, some colleagues grew increasingly dissatisfied with Hipchat in their daily work. The tool did essentially what it was supposed to, but long-term use revealed weaknesses: notifications didn’t always arrive properly, the mobile integration proved sub-optimal (especially for “heavy users”), the chat was a little behind the times and not quite a match for other widely-used messengers like Telegram or Slack.
In this respect, Atlassian had some catching up to do, and they ended up baulking at this investment for various reasons, as their recent announcement that they were discontinuing Hipchat and Stride and partnering with Slack suggests. Hipchat did have one enormous advantage for us, though: its excellent integration with other Atlassian tools!
Where we’re going – Hangouts Chat
Upon the announcement of Hangouts Chat, and the moment the solution was accessible in our internal test instance of Google Suite, there was a burst of enthusiasm from our Google Team. Of course we wanted to test the new tool, figure out what was different or better or worse and whether we were close to finding a good alternative to Hipchat.
It soon became clear that our team was very happy with Chat, but something was missing: integration. Google had definitely done a good job and on the initial release they delivered a multitude of bots for integrating other tools – for example, other Google apps like Meet and Calendar or even GitHub. An integration with Jira Cloud was also available from the start. But we and many of our customers use Jira Server, the version for use within our own IT infrastructures. We needed a different solution.
How we’re integrating – Jira
In Hangouts Chat there are (broadly speaking) two ways to integrate an external app: chat bots and API-/webhooks. A bot is basically a virtual user which responds to a dialogue with a pre-coded answer. Additionally, it can start a dialogue with the user and thus request more information. The drawback is that a bot only reacts when it’s addressed.
API-/ webhooks, by contrast, are interfaces which can be used by a bot or another application to send a message to a channel. This is probably the easiest way to integrate Hangouts Chat because all you need to do is send a message in the correct format to appear in the channel.
Our previous integration into Hipchat went in both directions. On the one hand, Jira would automatically respond to when issue keys were mentioned (e.g. GD-1) and a link to the issue with its summary would be published in the channel. On the other hand, as new comments were added and issues were created, messages would automatically be sent to the appropriately configured chat rooms:
The decision at the company level to switch from Hipchat to Hangouts Chat finally heralded a pilot phase where were were to evaluate and, wherever possible, implement important requirements of our teams for which there were not yet any native solutions. The integration of Jira Server is one of these.
This is why the first week after the release of Hangouts Chat saw the advent of Jira Bot, which covers the first use case. In the course of this minor project (one or two days of work), we built the bot as well as a library for simple communication with Hangouts Chat. (Both projects are accessible as open-source tools on GitHub and can be further developed and used as required after consulting with us.)
A Jira issue as mentioned in Hangouts Chat now looks like this:
The information is deliberately brief, but we can expand it as much as we want. So far the bot is being used actively, and in any event our internal logs show about 70 calls in the past 30 days.
But it is above all the second use case – i.e. automatically broadcast notifications regarding new Jira issues or comments – that is relevant to many teams, and a solution was urgently needed. As this integration needs to take place on the Jira side, the matter is somewhat more difficult.
That’s why we initially decided to approach the task as simply as possible by just appropriately configuring the Jira projects individually via Webhooks one chatroom at a time. To do this, you first have to create a Webhook in the destination channel. This is then saved with a matching message in Jira using the Jira automation app. The message is in JSON and is accepted by the Google API.
You can compare the end result with the example above:
Here too, you can adapt and expand the message content as much as you want.
The integrations implemented to date are kept lean and simple. There are options for extending the integration as required and, for example, to also allow interaction with the issues directly from the Chat.
In addition, we aim to make the two bots simple for others to access. In this context, there will be a small tool on the G Suite Marketplace which lets interested customers install the solutions easily.
As mentioned above, the current version of the Hangouts Bot can be found on GitHub. The project is always open to feedback and developers who want to contribute.
Your partner for Google G Suite
Are you interested in Google Software for modern collaboration tools in your business? Contact us if you have questions or would like to know more: We are an official Google Cloud Partner and can give you advice on implementing and licensing Google G Suite, as well as on extensions and using your tools productively!