How To Improve The Developer Experience With Airbot


Customer-centricity is one of our key core values at Aircall, but we believe that if we want to quickly deliver amazing features, we have to focus on the developer experience as well.

To improve the experience for our developers, we’ve built processes and tools to help our developers review, test, and ship high-quality features, faster.

The Context

In 2021, we moved our repositories and CI/CD pipelines from Bitbucket to Gitlab while keeping Jira as our main ticketing system. While we could have simply translated our CI/CD configuration files without improving anything, we decided to take a step back and analyze our workflow.

Aircall’s tech team almost tripled since January last year, with some teams working on more than five repositories at the same time. We couldn’t rely on the same processes and tools as before: We needed faster code reviews, a dedicated testing environment, and more reliable automated ticket transitions.

The Problems We Wanted to Solve

We couldn’t fix all the problems at once, so we decided to focus on the most critical ones:

1. Lack of visibility of our PRs, spread over multiple projects

2. Lack of visibility of our release candidates and changelog generation process

3. Discrepancies between our ticketing system and our repository management

We talked to a lot of our engineers from different teams to understand the root causes. We discovered that many tried to stay away from Jira as much as possible and were much more comfortable relying on Gitlab instead. They also had trouble listing all the PRs they must review, which sometimes led to forgetting to review PRs in minor repositories.

We decided to build a dedicated tool for that: Airbot.

Its first mission was to automate as many things as possible between Gitlab and Jira and help developers see which PRs need to be reviewed without browsing a lot of repositories.

Our First Version of Airbot

Airbot’s mission is to make our work easier by providing a set of useful commands and automating as many tedious manual tasks as possible.

With that in mind, we identified a set of repetitive tasks developers perform every day and automated them. One of the main aspects of Airbot is commands.

What are commands?

Commands are a set of directives anyone can run to perform specific redundant actions and be more efficient. Commands are the answer to a lot of use cases we’ve identified during our internal interviews:

  • software engineers need them to easily list PRs they must review
  • team leads use them to have visibility on the features the next version embeds
  • product managers fetch changelogs, thanks to a command
  • QA engineers list tickets waiting to be reviewed with a command
  • even our CI/CD pipeline uses commands

How to run commands?

Airbot commands can be run from different places, depending on the use case:

  • via Slack, by simply mentioning @airbot
  • via a terminal, using Airbot’s CLI
  • in the context of a CI/CD pipeline, by also using the CLI

Example of commands

By typing @airbot pr-summary in a dedicated Slack channel, software engineers can easily list all PRs that need to be fixed, reviewed, or merged. QA runs this same query to list the PRs waiting for validation.

Example of commands via Slack

Team leads run the @airbot release-candidates command to list all the PRs that will be embedded in our next release.

Example of commands via Slack

Product managers use @airbot changelog to generate a formatted changelog, with links to Jira tickets.

Example of commands via Slack

Airbot can also be used in a CI/CD context, as you can see in these “pre-release creation” and “release” jobs of our pipeline. Those jobs use Airbot to create a Jira release and move the correct tickets into it. By doing so, we completely automated this time-consuming task that adds no real value to our customers.

Example of pre-release creation

Example of

Example of job creation

Wrapping Up

In this article, we presented how Airbot helps Aircallees focus on high-value tasks instead of losing time on tedious ones. In our next article, we’ll explain how we synchronized Gitlab and Jira thanks to PR labels and Airbot.

Special thanks to our friends at Aircall for their insights on this topic.
Leave a Reply

Your email address will not be published. Required fields are marked *

13 Photoshop Tips For Marketing Design

13 Photoshop Tips For Marketing Design

4 Ways to Improve Your Instagram Marketing Strategy

4 Ways to Improve Your Instagram Marketing Strategy


Steve has entrepreneurship in his DNA. Starting in the early 2000s, Steve achieved eBay Power Seller status which propelled him to become a founding partner of, a contact lens and eyewear retailer. Four years later through a successful exit from that startup, he embarked on his next journey into digital strategy for direct-to-consumer brands.

Currently, Steve is a Senior Merchant Success Manager at Shopify, where he helps brands to identify, navigate and accelerate growth online and in-store.

To maintain his competitive edge, Steve also hosts the top-rated twice-weekly podcast eCommerce Fastlane. He interviews Shopify Partners and subject matter experts who share the latest marketing strategy, tactics, platforms, and must-have apps, that assist Shopify-powered brands to improve efficiencies, profitably grow revenue and to build lifetime customer loyalty.

You May Also Like
payday loans loans for bad credit
where can i buy clomid buy clomid