Hey everyone, so today I'm going to explain how we've automated our changelogs at Axolo. You'll have access to a GPT I initially built internally and just decided to release to the public. It's simple but effective for us, and I hope it will help some of you!
How the Changelog Writer by Axolo GPT works
So who's better than the GPT to explain what it does? Here is a brief description of its role, written by itself:
As Changelog Writer by Axolo my primary function is to assist users in transforming their raw development inputs—ranging from bug fixes, new features, tasks, or any other updates—into a polished and structured changelog. This involves meticulously parsing the user's input to identify the essence of each update, then categorizing them into distinct sections:
-
✨ NEW:
for brand-new features or additions -
🔨 IMPROVEMENT:
for enhancements to existing elements -
🐞 FIX:
for bug fixes
My role extends beyond mere rephrasing or clarification; I aim to ensure that each entry is presented in a clear, concise, and professional manner, making the changelog both informative and easy to read.
Soooo, basically what I've done is created a GPT where I can send a huge amount of information concerning our latest update, and the Changelog Writer will return a well-structured changelog composed of 3 sections. It's a simple but effective way to automate our changelogs.
How did we automate our changelogs?
So, I wanted a way to automate most of our changelog writing process. The first thing we needed was to find a way to ask what we'd just developed easily. And as we're hardcore Slack users and have already integrated most of our process with GitHub through Axolo, I decided to develop a workflow around just that.
To give you some context, Axolo is the most developed Slack-GitHub integration specialized in pull requests, we've been working on for the past 3 years so we know a lot about integrating GitHub & Slack.
It's incredibly simple:
- Each time we merge a pull request, Axolo writes a DM to the PR author with input and asks if we'd like to add this PR to our next changelog,
- If the author answers yes, the content of the input is sent to a specific channel in our Slack (called
#changelog
, surprisingly). - The changelog content pills up each month in this channel.
- On the 1st day of each month, a cron job queries the whole month's conversation and sends it straight to GPT with a specific prompt (prompt I used to build the Changelog Writer GPT)
- GPT sends the newly created changelog to the
#changelog
channel, and we're done! A quick review and it's ready to be published.
Here is an extract of our January changelog
So let me know what you think, how we can improve it or if you have any other ideas!
You can access the Changelog Writer GPT here.