Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
Go to file
Petr Korolev a5cb604bc1 fix
2014-11-18 10:21:35 +02:00
bin fix 2014-11-18 10:21:35 +02:00
lib update gemspec file 2014-11-17 18:14:44 +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 2014-11-12 11:19:04 +02:00
Gemfile update gemspec 2014-11-18 10:17:01 +02:00
Gemfile.lock Add token support, resolved #19. 2014-11-13 09:09:12 +02:00
github_changelog_generator.gemspec update gemspec 2014-11-18 10:17:01 +02:00
README.md update readme 2014-11-13 09:22:32 +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 it on https://github.com/settings/applications
-h, --help                       Displays Help
-v, --[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
-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'

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.