Change Report is an open-source GitHub Action that uses OpenAI's NLP capabilities to generate human-readable summaries of code changes and post them directly to Slack or Discord.
So, let's say you have a repository with the following commit history:
feat: Develop initial launch plan for SpaceX Internet satellites chore: Setup project repository for SpaceX Internet satellite launch refactor: Update satellite design to improve stability and reduce weight docs: Add user manual for SpaceX Internet service fix: Correct satellite positioning for optimal Internet coverage test: Run system tests for satellite deployment and connectivity build: Prepare launch vehicle for SpaceX Internet satellite deployment feat: Implement automated satellite monitoring system for real-time status updates refactor: Optimize satellite power consumption to prolong battery life ... etc
Then, the generated report might look like this:
I wanted to share a GitHub Action I initially built for myself, but it's so cool that I'm now thinking it's time to let other devs benefit from it as well. 😎
Every Monday morning, this action helps our team to keep the momentum and also reminds everyone about all that cool stuff we deployed the week before.
Just an easy-to-read summary delivered straight to a Slack channel, allowing us to get back on track quickly after weekends. Discord is now supported too, btw, kudos to @fire for the proposal!
Change Report can also be customized to run on other days of the week and at different times of the day, etc, etc, however you define it in your GitHub Actions workflow file.
To build Change Report, I use GitHub Actions and OpenAI's NLP capabilities. The action is triggered on a weekly basis using a cron schedule, and it fetches the commit history for the specified number of days using the GitHub API.
Once the commit history is retrieved, the action uses OpenAI's GPT-3 API to generate a human-readable summary of the changes. The summary is then posted to a designated Slack channel using the Slack API.
During the process, I learned a quite a few things about GitHub Actions development - something I haven't done before. I thought it'd be much harder to be frank; but the typescript-action starter was very helpful I gotta say, it makes the implementation process a breeze.
Feel free to give it a try and let me know what you think! If you find it helpful or have any suggestions on how I can improve it further, please share your experiences in the comments below. 👇
Happy coding, and don't forget to star the repo! 😜
P.S.: If you liked this - you might like some other things I've done recently:
Follow me on Twitter: @MaxPrilutskiy