Like every team, the web team has a set of features that are super useful to automate. We use Hubot, a technology owned by GitHub to write very simple bot scripts that we can interact with.
The way we use the bot is mostly via Mattermost. We called it: webbot.
In this article I would like to show some of the scripts that we wrote to make our life easier. I will separate them in two categories: the ones that can be triggered from our chat and the ones that are triggered via webhooks or API requests.
Discuss with webbot
We can interact directly with webbot in our Mattermost instance. Here is a list of actions that our bot will reply to.
This function will translate into a human readable form of an acronym that you request. Acronyms can come from general knowledge, companies and even teams. We share a spreadsheet throughout the company. Where everyone is invited to add new acronyms and the translation. The bot will then read the spreadsheet and reply with the matching answers.
Our team is spread across the world. It might happen that one of us starts at a time where no one is around to reply to a greeting. Webbot never sleeps and will always be there to greet you!
@webbot meeting [backend-catchup|dev-catchup|…]
We use GitHub issues to manage our meetings notes. Each meeting note can be labelled with the type of meeting it is. In order to find the last decisions that were made or follow up actions rapidly. Webbot can be requested to get the latest notes posted.
Some actions might require our attention and are useful to be shared with the team. These are some of the notifications that webbot give us in our day to day life at Canonical.
Notification when GitHub pull request are created
The web team works hard. We publish many pull requests an hour. Everyone of us should be able to jump in, to review it. To help publicize these requests to the team, every time a pull request is created webbot will notify the team in the channel.
Daily reminder of number of pull requests open
The team manages a lot of repositories. It is important to keep our code up to date. To remind the team about the amount of pull requests open, a daily reminder is sent to show how many are open and where to find the list.
Site released to production
Every time a site is published to production, webbot notifies the team and the infrastructure team to make sure that if anything happens we have as much information at our fingertips as possible.
It is usually my favorite message on Ubuntu release day.
We have a few more actions that webbot can do, but these are the main actions that we love. You’ll find all those scripts in this repository. Feel free to get inspired by them and don’t hesitate to share what you build with us on twitter at the Ubuntu Designers account.