devxp-auto-changelog is a small application that automates creation of changelogs for software projects based on git commits and JIRA issues. It:
- Determines the version number based on the git tags in the repository
- Parses the commit log from the last version to determine the commit/release range to generate change logs for
- Generates the changelog from those commits
By default, auto-changelog groups the changelog by JIRA issue, listing all commits associated with each issue. Optionally, it can also generate a more traditional changelog grouped by commit/tag.
This application integrates with the docs. To enable changelog generation, place a .changelog file in the .devxp directory
(repo/.devxp/.changelog). Changelogs will be included and updated in the docs page the next time the Publish Docs job
runs (~ every 3 hours).
This application requires Java 17 or later. In addition, auto-changelog must be run in a directory with an initialized git repository.
The latest version can be downloaded from Elhub's internal artifactory under elhub-bin/auto-changelog/.
To build a local version, run:
./gradlew shadowJarjava -jar devxp-auto-changelog.jar --helpThe following options are available for the CLI:
| Option | Description | Default |
|---|---|---|
-j, --json |
Whether to write the changelog as JSON. | false |
--from-tag=<tag> |
Include commits after the specified tag (excluding the tag itself). | null (from start) |
--to-tag=<tag> |
Include commits up to and including the specified tag. | null (to end) |
--group-by-commit |
Whether to create a more traditional changelog grouped by commit. | false |
-h, --help |
Print usage information and exit. |
The full suite of tests can be run using:
./gradlew testContributing, issues, and feature requests are welcome. See the Contributing file.
This project is developed by Elhub. For the specific development group responsible for this code, see the Codeowners file.