antsichaut automates ansible changelog generation from GitHub Pull Requests
Project description
Antsichaut
This is a very rough first try at automating the parts
of creating a changelog.yaml
used by antsibull-changelog.
You define a Github repository and a Github release. Then the script
searches all pull requests since the release and adds them to the changelog.yaml
.
The PR's get categorized into the changelog-sections based on labels and according to this configuration (currently hardcoded):
group_config = [
{"title": "major_changes", "labels": ["major", "breaking"]},
{"title": "minor_changes", "labels": ["minor", "enhancement"]},
{"title": "breaking_changes", "labels": ["major", "breaking"]},
{"title": "deprecated_features", "labels": ["deprecated"]},
{"title": "removed_features", "labels": ["removed"]},
{"title": "security_fixes", "labels": ["security"]},
{"title": "bugfixes", "labels": ["bug", "bugfix"]},
]
This means for example that PR's with the label major
get categorized
into the major_changes
section of the changelog.
PR's that do not have one of the above labels get categorized into the
trivial
section.
Installation
Install the requirements:
pip install -r requirements.txt
Usage
You need a minimal changelog.yml
created by antsibull-changelog:
antsibull-changelog release --version 1.17.0
Then define the version and the github repository you want to fetch the PRs from. Either via arguments or via environment variables:
> python3 antsi_change_pr_getter.py --github_token 123456789012345678901234567890abcdefabcd --since_version 1.17.0 --to_version 1.18.0 --github_repository=T-Systems-MMS/ansible-collection-icinga-director
export SINCE_VERSION=1.17.0 # (or `latest`)
export TO_VERSION=1.18.0 # optional. if unset, defaults to current date
export GITHUB_REPOSITORY=T-Systems-MMS/ansible-collection-icinga-director
Acknowledgements and Kudos
This script was initially forked from https://github.com/saadmk11/changelog-ci/ and modified to suit my needs. Thank you, @saadmk11!
License
The code in this project is released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file antsichaut-0.1.4.tar.gz
.
File metadata
- Download URL: antsichaut-0.1.4.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.8.5 Linux/4.4.0-18362-Microsoft
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbcd95296d7f65f5391c7393dfefa36c1552ac8a1e07588f53982b8850b05851 |
|
MD5 | d150bc002eb28a463936218501c61392 |
|
BLAKE2b-256 | c2022e06753ad0b2ce8f32c48da9f248ae3d8444f8ca828600ebe7322566611d |
File details
Details for the file antsichaut-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: antsichaut-0.1.4-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.8.5 Linux/4.4.0-18362-Microsoft
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ef15a1270fd6fb53d01c55d914a64dc8a1f23b6eef6d4fbdc7bc6296a205162 |
|
MD5 | bb5e46d0a510db539ba155191642899d |
|
BLAKE2b-256 | 94f6d69b40e1523bbce6b3cd3da7dc01e044481751821e5b3dd95de8f402e37b |