@promoboxx/generate-release-notes
Generates a RELEASE_NOTES.md
file from a CHANGELOG.md
file. Scans pull
requests for any linked issues, release notes, and previews.
Why
In a pull request workflow, those pull requests are a central unit of work. They drive your commits, which in turn drive your changelog, deploys, releases, closing linked issues, and more.
They're also a place that allows the developer, aka the one most familiar with the changes, write a breakdown of the changes. They even allow for attaching media.
This means they're a great fit for a more formal RELEASE_NOTES.md
file, one
that can explain the changes in a little more detail, even providing screenshots
and videos.
How to use
Typically you use this in your CI pipeline, after standard-version
or whatever
tool generates your CHANGELOG.md
file:
npx standard-version
npx @promoboxx/generate-release-notes
git push
Extras
Any found pull request will be scanned for what are called "extras". Any of the
following will be inserted into the RELEASE_NOTES.md
file underneath the
change with the pull request.
Related Issues
The pull request title, branch name, and body will be scanned for related issues.
Previews
If you have a markdown section named Preview
, the contents of it will be
copied.
Release Notes
If you have a markdown section named Release Notes
, the contents of it will be
copied.
Configuration
Any options are set via environment variables.
Variable | Default | Description |
---|---|---|
RELEASE_NOTES_GITHUB_TOKEN |
Token used to load pull requests when scanning for extras. | |
RELEASE_NOTES_JIRA_BASE_URL |
Base URL to your JIRA issues. | |
RELEASE_NOTES_SKIP_COMMIT |
false |
Whether the tool should commit the generated RELEASE_NOTES.md file. |
RELEASE_NOTES_CHANGE_TYPE_ORDER |
Features, Bug Fixes |
Order of sections in the generated RELEASE_NOTES.md file. |