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:
Generates detailed release notes directly from GitHub repositories using Oktokit and LibGit2Sharp.
Supports custom templates with Handlebars syntax to tailor the output format.
Provides options to skip empty releases or exclude specific labels from the generated content.
Command-line interface with flexible arguments for path, output location, version naming, language settings, and more.
Authentication support via GitHub API token or username/password for private repositories.
Multi-language date formatting based on ISO-639-1 codes.
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.
--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.