Skip to content

Generate a changelog from your Github issues and pull requests, filtering and organizing them by tag.

License

Notifications You must be signed in to change notification settings

rero/pychangelog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pychangelog

About Pychangelog

Pychangelog is a Python script that can generate a changelog from your Github issues and pull requests, filtering and organizing them by tag.

Most changelog generators use a Git commit history to fetch changes. But what if the project is managed with issues, labels and pull requests, or the commit messages are not standardized? This is where Pychangelog comes in.

Inspired by github-changelog-generator.

Features

  • Generates a markdown file with a list of Github issues and pull requests that have been closed between two selected tags.
  • Can ignore issues with certain labels (customizable)
  • Automatically ignores pull requests that closed an existing issue, so that the same change isn't listed twice.
  • Structures the changelog with certain labels as categories : New features, Enhancements, Fixes, Other changes.

Getting started

Requirements

  • uv
  • A Github repo with a repo access token

Install

  1. Clone this repo : git clone https://github.com/rero/pychangelog.git.
  2. Run uv sync --frozen to install dependencies.
  3. Activate a uv virtual env uv venv

Usage

  1. Edit config.ini according to your needs:
    1. repo and user: The repo you want a changelog for and its user (can be an owner or an organization).
    2. ignore_labels: Issues and PRs with labels from this list will be ignored
    3. from_tag and to_tag: The two git tags to compare changes between. to_tag doesn't need to exist in Github yet. If it doesn't, the changelog will compare changes between from_tag and today.
    4. merging_branch: Only PRs merged to this branch will be used for the changelog
  2. Run poe changelog --token <your-github-token>
  3. Check PYCHANGELOG.md for your changelog

Roadmap

Pychangelog is a side project developed for the use case of therero projects. It can generate a changelog using Github issues and PRs that have been closed between two tags (releases). If you need to generate a changelog from your Git history, check one of the many other existing projects that do this. Pychangelog's scope is to only use pull requests and issues from Github.

  • Print a changelog from issues and PRs
  • Add ability to ignore some labels
  • Ignore pull requests that are linked to a closed issue
  • Generate the changelog in a markdown file
  • Categorize the issues in the changelog according to specific labels (bugs, enhancements, etc.)
  • Generate a changelog from release tags instead of branches

License

Distributed under GNU GENERAL PUBLIC LICENSE, see LICENSE for more details.

Contact

About

Generate a changelog from your Github issues and pull requests, filtering and organizing them by tag.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages