Command line tool to generate changelog, or releasenotes, from a git repository and a Mustache template.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper Adjusting to Bintray Dec 19, 2017
src Adjusting to Bintray Dec 19, 2017
.gitignore
.travis.yml Lib 1.72 Sep 8, 2017
CHANGELOG.md Adjusting to Bintray Dec 19, 2017
LICENSE Initial commit Jan 27, 2016
README.md Doc Dec 19, 2017
_config.yml Set theme jekyll-theme-slate Feb 7, 2017
build.gradle Moving application to before shaddow plugin Apr 20, 2018
build.sh Using lib 1.23 Jan 31, 2016
changelog.json Support GitHub OAuth2 tokens #1 Mar 15, 2016
changelog.mustache GitLab integration Mar 25, 2017
changelog_html.mustache Initial commit Jan 27, 2016
changelog_mediawiki.mustache Initial commit Jan 27, 2016
generate_changelog.sh Moving application to before shaddow plugin Apr 20, 2018
gradle.properties Closing RevWalk JENKINS-19994 Dec 30, 2017
gradlew
gradlew.bat Initial commit Jan 27, 2016
setup_path.sh Adding script to add bin to path Jun 20, 2016

README.md

Git Changelog Command Line

Build Status Maven Central Bintray

This is a command line tool for generating a changelog, or releasenotes, from a GIT repository. It uses the Git Changelog Lib.

There are some screenshots here.

The runnable can be found in Maven Central (the zip file). Unpack it and you will find the bin-folder.

A CHANGELOG.md file can be created like this.

./bin/git-changelog-command-line -t changelog.mustache -sf changelog.json -of CHANGELOG.md

A MediaWiki page can be created like this.

./git-changelog-command-line -murl http://localhost/mediawiki -mu tomas -mp tomaskod -mt "Tomas Title" -t /home/bjerre/workspace/git-changelog-lib/changelog_mediawiki.mustache -ut "Next release"

There are more examples here.

Usage

Or from command line:

-cl, --custom-issue-link <string>          Custom issue link. Supports 
                                           variables like ${PATTERN_GROUP_1} to inject 
                                           variables from pattern.
                                           <string>: any string
                                           Default: null
-cn, --custom-issue-name <string>          Custom issue name.
                                           <string>: any string
                                           Default: null
-cp, --custom-issue-pattern <string>       Custom issue pattern.
                                           <string>: any string
                                           Default: null
-ct, --custom-issue-title <string>         Custom issue title. Supports 
                                           variables like ${PATTERN_GROUP_1} to inject 
                                           variables from pattern.
                                           <string>: any string
                                           Default: null
-df, --date-format <string>                Format to use when printing dates.
                                           <string>: any string
                                           Default: YYYY-MM-dd HH:mm:ss
-ex, --extended-variables <string>         Extended variables that will be 
                                           available as {{extended.*}}. -ex "{\"var1\": 
                                           \"val1\"}" will print out "val1" for 
                                           a template like "{{extended.var1}}"
                                           <string>: any string
                                           Default: 
-fc, --from-commit <string>                From commit.
                                           <string>: any string
                                           Default: 0000000000000000000000000000000000000000
-fr, --from-ref <string>                   From ref.
                                           <string>: any string
                                           Default: null
-gapi, --github-api <string>               GitHub API. Like: https://api.
                                           github.com/repos/tomasbjerre/git-changelog-
                                           command-line/
                                           <string>: any string
                                           Default: 
-glpn, --gitlab-project-name <string>      GitLab project name.
                                           <string>: any string
                                           Default: 
-gls, --gitlab-server <string>             GitLab server, like https://gitlab.
                                           com/.
                                           <string>: any string
                                           Default: 
-glt, --gitlab-token <string>              GitLab API token.
                                           <string>: any string
                                           Default: 
-gtok, --github-token <string>             GitHub API OAuth2 token. You can 
                                           get it from: curl -u 'yourgithubuser' -
                                           d '{"note":"Git Changelog Lib"}' 
                                           https://api.github.com/authorizations
                                           <string>: any string
                                           Default: 
-h, --help <argument-to-print-help-for>    <argument-to-print-help-for>: an argument to print help for
                                           Default: If no specific parameter is given the whole usage text is given
-ini, --ignore-commits-without-issue       Ignore commits that is not included 
                                           in any issue.
                                           Default: disabled
-iot, --ignore-older-than <string>         Ignore commits older than YYYY-MM-
                                           dd HH:mm:ss.
                                           <string>: any string
                                           Default: 
-ip, --ignore-pattern <string>             Ignore commits where pattern 
                                           matches message.
                                           <string>: any string
                                           Default: ^\[maven-release-plugin\].*|^\[Gradle Release Plugin\].*|^Merge.*
-itp, --ignore-tag-pattern <string>        Ignore tags that matches regular 
                                           expression. Can be used to ignore release 
                                           candidates and only include actual releases.
                                           <string>: any string
                                           Default: null
-jp, --jira-pattern <string>               Jira issue pattern.
                                           <string>: any string
                                           Default: \b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\b
-jpw, --jira-password <string>             Optional password to authenticate 
                                           with Jira.
                                           <string>: any string
                                           Default: \b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\b
-js, --jiraServer <string>                 Jira server. When a Jira server is 
                                           given, the title of the Jira issues can be 
                                           used in the changelog.
                                           <string>: any string
                                           Default: 
-ju, --jira-username <string>              Optional username to authenticate 
                                           with Jira.
                                           <string>: any string
                                           Default: \b[a-zA-Z]([a-zA-Z]+)-([0-9]+)\b
-mp, --mediawiki-password <string>         Password to authenticate with 
                                           MediaWiki.
                                           <string>: any string
                                           Default: 
-mt, --mediawiki-title <string>            Title of MediaWiki page.
                                           <string>: any string
                                           Default: null
-mu, --mediawiki-user <string>             User to authenticate with MediaWiki.
                                           <string>: any string
                                           Default: 
-murl, --mediawiki-url <string>            Base URL of MediaWiki.
                                           <string>: any string
                                           Default: 
-ni, --no-issue-name <string>              Name of virtual issue that contains 
                                           commits that has no issue associated.
                                           <string>: any string
                                           Default: No issue
-of, --output-file <string>                Write output to file.
                                           <string>: any string
                                           Default: 
-r, --repo <string>                        Repository.
                                           <string>: any string
                                           Default: .
-ri, --remove-issue-from-message           Dont print any issues in the 
                                           messages of commits.
                                           Default: disabled
-rt, --readable-tag-name <string>          Pattern to extract readable part of 
                                           tag.
                                           <string>: any string
                                           Default: /([^/]+?)$
-sf, --settings-file <string>              Use settings from file.
                                           <string>: any string
                                           Default: null
-std, --stdout                             Print builder to <STDOUT>.
                                           Default: disabled
-t, --template <string>                    Template to use. A default template 
                                           will be used if not specified.
                                           <string>: any string
                                           Default: git-changelog-template.mustache
-tc, --to-commit <string>                  To commit.
                                           <string>: any string
                                           Default: null
-tec, --template-content <string>          String to use as template.
                                           <string>: any string
                                           Default: 
-tr, --to-ref <string>                     To ref.
                                           <string>: any string
                                           Default: refs/heads/master
-tz, --time-zone <string>                  TimeZone to use when printing dates.
                                           <string>: any string
                                           Default: UTC
-ut, --untagged-name <string>              When listing commits per tag, this 
                                           will by the name of a virtual tag that 
                                           contains commits not available in any git 
                                           tag.
                                           <string>: any string
                                           Default: No tag

Checkout the Git Changelog Lib for more documentation.

Developer instructions

To build the code, have a look at .travis.yml.

To do a release you need to do ./gradlew release and release the artifact from staging. More information here.