Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
Go to file
2014-11-19 15:47:28 +02:00
bin remove httpparty from gem 2014-11-18 15:20:57 +02:00
lib add parse option --filter-pull-requests 2014-11-19 15:45:24 +02:00
.gitignore add changelog in lib to gitignore 2014-11-10 14:44:19 +02:00
bump_gemfile.rb typo fix 2014-11-10 14:39:31 +02:00
CHANGELOG.md Update changelog for version 1.1.4 2014-11-18 15:50:21 +02:00
Gemfile remove httpparty from gem 2014-11-18 15:20:57 +02:00
Gemfile.lock remove httpparty from gem 2014-11-18 15:20:57 +02:00
github_changelog_generator.gemspec remove dependency 2014-11-18 15:48:00 +02:00
README.md update readme 2014-11-19 14:33:38 +02:00

GitHub Changelog Generator

Gem Version

Changelog generation has never been so easy.

This script automatically generate change-log from your tags and merged pull-requests.

Installation:

[sudo] gem install github_changelog_generator

Usage

It's really simple:

  • cd to your Project folder with configured git and just type:

      github_changelog_generator
    
  • from anywhere:

      github_changelog_generator -u github-username -p github-project
    

As output you will get CHANGELOG.md file with pretty Markdown-formatted changelog.

Params:

Type github_changelog_generator --help for detailed usage.

Usage: changelog_generator [options]
    -u, --user [USER]                Username of the owner of target GitHub repo
    -p, --project [PROJECT]          Name of project on GitHub
    -t, --token [TOKEN]              To make more than 50 requests this script required your OAuth token for GitHub. You can generate here: https://github.com/settings/tokens/new
    -h, --help                       Displays Help
        --[no-]verbose               Run verbosely. Default is true
        --[no-]issues                Include closed issues to changelog. Default is true
        --[no-]issues-without-labels Include closed issues without any labels to changelog. Default is true
        --[no-]pull-requests         Include pull-requests to changelog. Default is true
    -l, --last-changes               Generate log between last 2 tags only
        --[no-]author                Add author of pull-request in the end. Default is true
    -f, --date-format [FORMAT]       Date format. Default is %d/%m/%y
    -o, --output [NAME]              Output file. Default is CHANGELOG.md
        --labels  x,y,z              List of labels. Issues with that labels will be included to changelog. Default is 'bug,enhancement'
    -v, --version                    Print version number

Examples:

FAQ:

Since GitHub allow to make only 50 requests without authentication it's recommended to run this script with token

You can easily generate it here.

And:

  • Run with key -t [your-16-digit-token] that

  • Or set environment variable CHANGELOG_GITHUB_TOKEN and specify there your token.

    i.e. add to your ~/.bash_profile or ~/.zshrc or any other place to load ENV variables string export CHANGELOG_GITHUB_TOKEN="your-40-digit-github-token"'

So, if you got error like this:

! /Library/Ruby/Gems/2.0.0/gems/github_api-0.12.2/lib/github_api/response/raise_error.rb:14:in `on_complete'

It's time to create this token or wait for 1 hour before GitHub reset the counter for your IP.

Am I missed some essential feature?

Nothing is impossible! Open an issue and let's make generator better together!

Bug reports, feature requests, patches, well-wishes are always welcome!

Contributing

  1. Create an issue to discuss about your idea
  2. [Fork it] (https://github.com/skywinder/Github-Changelog-Generator/fork)
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request

License

Github Changelog Generator is released under the MIT License.