Github App to Automate Your Pull Requests to Changelog Generation Flow

Mukul Chaware
3 min readMar 24, 2020

--

PRCLbot

When multiple people are working on a repo in Github, the chance that they are aware of all changes becomes slimmer. With time, changelog files get bigger and they might get less human-readable and less-searchable. The well-maintained changelog also has valuable data that can be used to debug issues effectively, gain insights and to keep track of the team’s productivity and metrics.

To solve this problem, I built PRCLbot which is an easy-to-setup GitHub app to automate changelog generation from merged pull requests to maintain changelog history, keep the team connected with new changes and help you gain insights from it.

Key Features

  • Intuitive dashboard to keep track of changelog history, release versions, etc.
Changelog
  • Provide advanced filtering options to extract the desired changelog.
Filtering
  • Derive insights and metrics from your changelog.
Insights
  • Keep different versions of changelog depending on branches.
  • Create a public link for a changelog that can be shared with everyone and can be used as an audit log.
Public log page

How to install?

It is super easy and takes less than 2 minutes to set up the app with your account or organization.

  1. Install ‘PRCLbot’ GitHub app to your account or organization from Github Marketplace.
  2. Select repositories for which you would like to activate PRCLbot.
  3. Login to PRCLbot dashboard to checkout dashboard and insights.

Walkthrough

Only PRs that get merged and have valid changelog info will be automatically exported to PRCLbot platform. The usual flow will be as follows:

PR Description example
  1. The author opens a PR from a feature branch.
  2. The author adds changelog content with suitable tags (reference below).
  3. The reviewer or author merges the PR.
  4. Login to PRCLbot to see and manage generated changelog and get insights.

The following flow doesn’t result in changelog generation:

  • The reviewer or author decides to close the PR without merging it.

Changelog format in the PR description

You can add changelog in below format:

- (tag) changelog_text

Example:

## Changelog
- (added) X is live now
- (changed) Y is changed now
- (deprecated) Z is deprecated
- (fixed) A is squashed
- (removed) B refactored
- (security) releasing a security patch for C
- (added) D is live too

Supported tags: added, changed, deprecated, fixed, removed, security and added.

Thanks for reading. Checkout out PRCLbot to see this feature (and many more like this) in action! Don’t hesitate to correct any mistakes in the comments or provide suggestions for future posts!

--

--

Mukul Chaware

Building changelogg.io — Automatic, Effortless, No-code Changelog for Every Release