winget install --id=StefHeyenrath.GitHubReleaseNotes -e
Generate Release Notes in MarkDown format from a GitHub project.
GitHubReleaseNotes is a command-line tool designed to generate release notes in Markdown format from GitHub projects. It automates the process of compiling information about issues, pull requests, and milestones into structured and organized documentation for software releases.
Key Features:
Audience & Benefit: Ideal for developers, DevOps engineers, and project managers working with GitHub to streamline the creation of consistent and comprehensive release notes. This tool saves time by automating documentation tasks while ensuring accuracy and adherence to project standards.
Available via winget installation for easy setup.
Generate Release Notes from GitHub.
dotnet tool install --global GitHubReleaseNotes
winget install -e --id StefHeyenrath.GitHubReleaseNotes
choco install GitHubReleaseNotes
GitHubReleaseNotes can be run inside a git repository.
GitHubReleaseNotes --path . --output ReleaseNotes.md --version 1.0.4.17 --language en --skip-empty-releases --exclude-labels question
Arguments:
--path
: The path from the git repository. If not supplied, the current folder is used.--output
: The location from the generated Release Notes. If not supplied, the output is written to the console.--version
: Define a custom version name for the latest release instead of the value "next".--language
: Provide the language (two letter according to ISO-639-1) which is used to format the dates. If not provided, "en" is used. It's also possible to use a value like "system", which takes the current system ui language.--skip-empty-releases
: Define this optional argument to skip writing releases which have no associated Issues or Pull Requests.--template
: Provide a custom Handlebars template instead of the default template to generate the Release Notes.--exclude-labels
: Exclude Issues and Pull Requests which have these labels set.--exclude-labels
: To exclude issues from the generated output, provide a space separated string list from label-names you want to exclude.--token
: Provide the GitHub API token as authentication for connecting to private repositories. @--login
and --password
: Provide the GitHub API login and password as authentication for connecting to private repositories. @ you only can use one authentication method
The generated Release Notes (Markdown formatted) will look like:
# 1.0.4.16 (11 September 2018)
- [#202](https://github.com/StefH/GitHubReleaseNotes/pull/202) - Update logic PR contributed by [StefH](https://github.com/StefH)
- [#201](https://github.com/StefH/GitHubReleaseNotes/issues/201) - Fix issue abc
This project is based on GitTools/GitReleaseNotes.