github_changelog_generator 1.13.2 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/github_changelog_generator.rb +6 -1
  4. data/lib/github_changelog_generator/generator/generator.rb +28 -28
  5. data/lib/github_changelog_generator/generator/generator_fetcher.rb +23 -20
  6. data/lib/github_changelog_generator/generator/generator_generation.rb +40 -53
  7. data/lib/github_changelog_generator/generator/generator_processor.rb +32 -22
  8. data/lib/github_changelog_generator/generator/generator_tags.rb +77 -46
  9. data/lib/github_changelog_generator/octo_fetcher.rb +363 -0
  10. data/lib/github_changelog_generator/options.rb +92 -0
  11. data/lib/github_changelog_generator/parser.rb +21 -5
  12. data/lib/github_changelog_generator/parser_file.rb +2 -2
  13. data/lib/github_changelog_generator/version.rb +1 -1
  14. data/man/git-generate-changelog.1 +44 -2
  15. data/man/git-generate-changelog.1.html +290 -0
  16. data/man/git-generate-changelog.md +29 -1
  17. data/spec/spec_helper.rb +21 -0
  18. data/spec/unit/generator/generator_processor_spec.rb +4 -4
  19. data/spec/unit/generator/generator_tags_spec.rb +43 -40
  20. data/spec/unit/octo_fetcher_spec.rb +528 -0
  21. data/spec/unit/options_spec.rb +42 -0
  22. data/spec/unit/reader_spec.rb +0 -4
  23. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid.json +1 -0
  24. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid/returns_issue_with_proper_key/values.json +1 -0
  25. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid/returns_issues.json +1 -0
  26. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid/returns_issues_with_labels.json +1 -0
  27. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid/returns_pull_request_with_proper_key/values.json +1 -0
  28. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid/returns_pull_requests_with_labels.json +1 -0
  29. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_pull_requests/when_API_call_is_valid.json +1 -0
  30. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_pull_requests/when_API_call_is_valid/returns_correct_pull_request_keys.json +1 -0
  31. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_pull_requests/when_API_call_is_valid/returns_pull_requests.json +1 -0
  32. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_commit/when_API_call_is_valid.json +1 -0
  33. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_commit/when_API_call_is_valid/returns_commit.json +1 -0
  34. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_date_of_tag/when_API_call_is_valid.json +1 -0
  35. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_date_of_tag/when_API_call_is_valid/returns_date.json +1 -0
  36. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_events_async/when_API_call_is_valid.json +1 -0
  37. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_events_async/when_API_call_is_valid/populates_issues.json +1 -0
  38. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_github_fetch_tags/when_API_call_is_valid.json +1 -0
  39. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_github_fetch_tags/when_API_call_is_valid/should_return_tags.json +1 -0
  40. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_github_fetch_tags/when_API_call_is_valid/should_return_tags_count.json +1 -0
  41. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_github_fetch_tags/when_wrong_token_provided.json +1 -0
  42. data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_github_fetch_tags/when_wrong_token_provided/should_raise_Unauthorized_error.json +1 -0
  43. metadata +97 -12
  44. data/lib/CHANGELOG.md +0 -58
  45. data/lib/github_changelog_generator/fetcher.rb +0 -226
  46. data/spec/unit/fetcher_spec.rb +0 -60
@@ -0,0 +1,92 @@
1
+ # frozen_string_literal: true
2
+ require "delegate"
3
+ module GitHubChangelogGenerator
4
+ class Options < SimpleDelegator
5
+ UnsupportedOptionError = Class.new(ArgumentError)
6
+
7
+ KNOWN_OPTIONS = [
8
+ :add_issues_wo_labels,
9
+ :add_pr_wo_labels,
10
+ :author,
11
+ :base,
12
+ :between_tags,
13
+ :bug_labels,
14
+ :bug_prefix,
15
+ :cache_file,
16
+ :cache_log,
17
+ :compare_link,
18
+ :date_format,
19
+ :due_tag,
20
+ :enhancement_labels,
21
+ :enhancement_prefix,
22
+ :exclude_labels,
23
+ :exclude_tags,
24
+ :exclude_tags_regex,
25
+ :filter_issues_by_milestone,
26
+ :frontmatter,
27
+ :future_release,
28
+ :git_remote,
29
+ :github_endpoint,
30
+ :github_site,
31
+ :header,
32
+ :http_cache,
33
+ :include_labels,
34
+ :issue_prefix,
35
+ :issue_line_labels,
36
+ :issues,
37
+ :max_issues,
38
+ :merge_prefix,
39
+ :output,
40
+ :project,
41
+ :pulls,
42
+ :release_branch,
43
+ :release_url,
44
+ :simple_list,
45
+ :since_tag,
46
+ :token,
47
+ :unreleased,
48
+ :unreleased_label,
49
+ :unreleased_only,
50
+ :user,
51
+ :usernames_as_github_logins,
52
+ :verbose
53
+ ]
54
+
55
+ THESE_ARE_DIFFERENT = [
56
+ :tag1,
57
+ :tag2
58
+ ]
59
+
60
+ def initialize(values)
61
+ super(values)
62
+ unsupported_options.any? && raise(UnsupportedOptionError, unsupported_options.inspect)
63
+ end
64
+
65
+ def []=(key, val)
66
+ supported_option?(key) || raise(UnsupportedOptionError, key.inspect)
67
+ values[key] = val
68
+ end
69
+
70
+ def to_hash
71
+ values
72
+ end
73
+
74
+ private
75
+
76
+ def values
77
+ __getobj__
78
+ end
79
+
80
+ def unsupported_options
81
+ values.keys - supported_options
82
+ end
83
+
84
+ def supported_option?(key)
85
+ supported_options.include?(key)
86
+ end
87
+
88
+ def supported_options
89
+ KNOWN_OPTIONS + THESE_ARE_DIFFERENT
90
+ end
91
+ end
92
+ end
@@ -42,7 +42,7 @@ module GitHubChangelogGenerator
42
42
 
43
43
  # setup parsing options
44
44
  def self.setup_parser(options)
45
- parser = OptionParser.new do |opts|
45
+ parser = OptionParser.new do |opts| # rubocop:disable Metrics/BlockLength
46
46
  opts.banner = "Usage: github_changelog_generator [options]"
47
47
  opts.on("-u", "--user [USER]", "Username of the owner of target GitHub repo") do |last|
48
48
  options[:user] = last
@@ -107,7 +107,7 @@ module GitHubChangelogGenerator
107
107
  opts.on("--[no-]unreleased", "Add to log unreleased closed issues. Default is true") do |v|
108
108
  options[:unreleased] = v
109
109
  end
110
- opts.on("--unreleased-label [label]", "Add to log unreleased closed issues. Default is true") do |v|
110
+ opts.on("--unreleased-label [label]", "Setup custom label for unreleased closed issues section. Default is \"**Unreleased:**\"") do |v|
111
111
  options[:unreleased_label] = v
112
112
  end
113
113
  opts.on("--[no-]compare-link", "Include compare link (Full Changelog) between older version and newer version. Default is true") do |v|
@@ -125,6 +125,9 @@ module GitHubChangelogGenerator
125
125
  opts.on("--enhancement-labels x,y,z", Array, 'Issues with the specified labels will be always added to "Implemented enhancements" section. Default is \'enhancement,Enhancement\'') do |list|
126
126
  options[:enhancement_labels] = list
127
127
  end
128
+ opts.on("--issue-line-labels x,y,z", Array, 'The specified labels will be shown in brackets next to each matching issue. Use "ALL" to show all labels. Default is [].') do |list|
129
+ options[:issue_line_labels] = list
130
+ end
128
131
  opts.on("--between-tags x,y,z", Array, "Change log will be filled only between specified tags") do |list|
129
132
  options[:between_tags] = list
130
133
  end
@@ -161,6 +164,15 @@ module GitHubChangelogGenerator
161
164
  opts.on("--release-branch [RELEASE-BRANCH]", "Limit pull requests to the release branch, such as master or release") do |release_branch|
162
165
  options[:release_branch] = release_branch
163
166
  end
167
+ opts.on("--[no-]http-cache", "Use HTTP Cache to cache Github API requests (useful for large repos) Default is true.") do |http_cache|
168
+ options[:http_cache] = http_cache
169
+ end
170
+ opts.on("--cache-file [CACHE-FILE]", "Filename to use for cache. Default is /tmp/github-changelog-http-cache") do |cache_file|
171
+ options[:cache_file] = cache_file
172
+ end
173
+ opts.on("--cache-log [CACHE-LOG]", "Filename to use for cache log. Default is /tmp/github-changelog-logger.log") do |cache_log|
174
+ options[:cache_log] = cache_log
175
+ end
164
176
  opts.on("--[no-]verbose", "Run verbosely. Default is true") do |v|
165
177
  options[:verbose] = v
166
178
  end
@@ -178,7 +190,7 @@ module GitHubChangelogGenerator
178
190
 
179
191
  # @return [Hash] Default options
180
192
  def self.default_options
181
- {
193
+ Options.new(
182
194
  tag1: nil,
183
195
  tag2: nil,
184
196
  date_format: "%Y-%m-%d",
@@ -196,6 +208,7 @@ module GitHubChangelogGenerator
196
208
  enhancement_labels: %w(enhancement Enhancement),
197
209
  bug_labels: %w(bug Bug),
198
210
  exclude_labels: %w(duplicate question invalid wontfix Duplicate Question Invalid Wontfix),
211
+ issue_line_labels: [],
199
212
  max_issues: nil,
200
213
  simple_list: false,
201
214
  verbose: true,
@@ -204,8 +217,11 @@ module GitHubChangelogGenerator
204
217
  issue_prefix: "**Closed issues:**",
205
218
  bug_prefix: "**Fixed bugs:**",
206
219
  enhancement_prefix: "**Implemented enhancements:**",
207
- git_remote: "origin"
208
- }
220
+ git_remote: "origin",
221
+ http_cache: true,
222
+ cache_file: "/tmp/github-changelog-http-cache",
223
+ cache_log: "/tmp/github-changelog-logger.log"
224
+ )
209
225
  end
210
226
 
211
227
  # If `:user` or `:project` not set in options, try setting them
@@ -62,11 +62,11 @@ module GitHubChangelogGenerator
62
62
  # @return [Array<Symbol, String>]
63
63
  def extract_pair(line)
64
64
  key, value = line.split("=", 2)
65
- [key.sub("-", "_").to_sym, value.gsub(/[\n\r]+/, "")]
65
+ [key.tr("-", "_").to_sym, value.gsub(/[\n\r]+/, "")]
66
66
  end
67
67
 
68
68
  KNOWN_ARRAY_KEYS = [:exclude_labels, :include_labels, :bug_labels,
69
- :enhancement_labels, :between_tags, :exclude_tags]
69
+ :enhancement_labels, :issue_line_labels, :between_tags, :exclude_tags]
70
70
  KNOWN_INTEGER_KEYS = [:max_issues]
71
71
 
72
72
  def convert_value(value, option_name)
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module GitHubChangelogGenerator
3
- VERSION = "1.13.2"
3
+ VERSION = "1.14.0"
4
4
  end
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "GIT\-GENERATE\-CHANGELOG" "1" "October 2015" "" ""
4
+ .TH "GIT\-GENERATE\-CHANGELOG" "1" "November 2016" "" ""
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBgit\-generate\-changelog\fR \- Generate changelog from github
@@ -73,6 +73,12 @@ Setup custom label for closed\-issues section\. Default is "\fBClosed issues:\fR
73
73
  Setup custom header label\. Default is "# Change Log"
74
74
  .
75
75
  .P
76
+ \-\-front\-matter [JSON]
77
+ .
78
+ .P
79
+ Add YAML front matter\. Formatted as JSON because it\'s easier to add on the command line
80
+ .
81
+ .P
76
82
  \-\-pr\-label [LABEL]
77
83
  .
78
84
  .P
@@ -115,6 +121,12 @@ Use milestone to detect when issue was resolved\. Default is true
115
121
  Add author of pull\-request in the end\. Default is true
116
122
  .
117
123
  .P
124
+ \-\-usernames\-as\-github\-logins
125
+ .
126
+ .P
127
+ Use GitHub tags instead of Markdown links for the author of an issue or pull\-request\.
128
+ .
129
+ .P
118
130
  \-\-unreleased\-only
119
131
  .
120
132
  .P
@@ -130,7 +142,7 @@ Add to log unreleased closed issues\. Default is true
130
142
  \-\-unreleased\-label [label]
131
143
  .
132
144
  .P
133
- Add to log unreleased closed issues\. Default is true
145
+ Setup custom label for unreleased closed issues section\. Default is "\fBUnreleased:\fR"
134
146
  .
135
147
  .P
136
148
  \-\-[no\-]compare\-link
@@ -175,6 +187,12 @@ Change log will be filled only between specified tags
175
187
  Change log will exclude specified tags
176
188
  .
177
189
  .P
190
+ \-\-exclude\-tags\-regex [REGEX]
191
+ .
192
+ .P
193
+ Apply a regular expression on tag names so that they can be excluded, for example: \-\-exclude\-tags\-regex "\.*+\ed{1,}"
194
+ .
195
+ .P
178
196
  \-\-since\-tag x
179
197
  .
180
198
  .P
@@ -223,6 +241,30 @@ Create simple list from issues and pull requests\. Default is false\.
223
241
  Put the unreleased changes in the specified release number\.
224
242
  .
225
243
  .P
244
+ \-\-release\-branch [RELEASE\-BRANCH]
245
+ .
246
+ .P
247
+ Limit pull requests to the release branch, such as master or release
248
+ .
249
+ .P
250
+ \-\-http\-cache
251
+ .
252
+ .P
253
+ Use HTTP Cache to cache Github API requests (useful for large repos) Default is true\.
254
+ .
255
+ .P
256
+ \-\-[no\-]cache\-file [CACHE\-FILE]
257
+ .
258
+ .P
259
+ Filename to use for cache\. Default is /tmp/github\-changelog\-http\-cache
260
+ .
261
+ .P
262
+ \-\-cache\-log [CACHE\-LOG]
263
+ .
264
+ .P
265
+ Filename to use for cache log\. Default is /tmp/github\-changelog\-logger\.log
266
+ .
267
+ .P
226
268
  \-\-[no\-]verbose
227
269
  .
228
270
  .P
@@ -0,0 +1,290 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv='content-type' value='text/html;charset=utf8'>
5
+ <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
6
+ <title>git-generate-changelog(1) - Generate changelog from github</title>
7
+ <style type='text/css' media='all'>
8
+ /* style: man */
9
+ body#manpage {margin:0}
10
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
11
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
12
+ .mp h2 {margin:10px 0 0 0}
13
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
14
+ .mp h3 {margin:0 0 0 4ex}
15
+ .mp dt {margin:0;clear:left}
16
+ .mp dt.flush {float:left;width:8ex}
17
+ .mp dd {margin:0 0 0 9ex}
18
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
19
+ .mp pre {margin-bottom:20px}
20
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
21
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
22
+ .mp img {display:block;margin:auto}
23
+ .mp h1.man-title {display:none}
24
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
25
+ .mp h2 {font-size:16px;line-height:1.25}
26
+ .mp h1 {font-size:20px;line-height:2}
27
+ .mp {text-align:justify;background:#fff}
28
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
29
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
30
+ .mp u {text-decoration:underline}
31
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
32
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
33
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
34
+ .mp b.man-ref {font-weight:normal;color:#434241}
35
+ .mp pre {padding:0 4ex}
36
+ .mp pre code {font-weight:normal;color:#434241}
37
+ .mp h2+pre,h3+pre {padding-left:0}
38
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
39
+ ol.man-decor {width:100%}
40
+ ol.man-decor li.tl {text-align:left}
41
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
42
+ ol.man-decor li.tr {text-align:right;float:right}
43
+ </style>
44
+ </head>
45
+ <!--
46
+ The following styles are deprecated and will be removed at some point:
47
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
48
+
49
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
50
+ .man-navigation should be used instead.
51
+ -->
52
+ <body id='manpage'>
53
+ <div class='mp' id='man'>
54
+
55
+ <div class='man-navigation' style='display:none'>
56
+ <a href="#NAME">NAME</a>
57
+ <a href="#SYNOPSIS">SYNOPSIS</a>
58
+ <a href="#DESCRIPTION">DESCRIPTION</a>
59
+ <a href="#OPTIONS">OPTIONS</a>
60
+ <a href="#EXAMPLES">EXAMPLES</a>
61
+ <a href="#AUTHOR">AUTHOR</a>
62
+ <a href="#REPORTING-BUGS">REPORTING BUGS</a>
63
+ <a href="#SEE-ALSO">SEE ALSO</a>
64
+ </div>
65
+
66
+ <ol class='man-decor man-head man head'>
67
+ <li class='tl'>git-generate-changelog(1)</li>
68
+ <li class='tc'></li>
69
+ <li class='tr'>git-generate-changelog(1)</li>
70
+ </ol>
71
+
72
+ <h2 id="NAME">NAME</h2>
73
+ <p class="man-name">
74
+ <code>git-generate-changelog</code> - <span class="man-whatis">Generate changelog from github</span>
75
+ </p>
76
+
77
+ <h2 id="SYNOPSIS">SYNOPSIS</h2>
78
+
79
+ <p><code>git generate-changelog</code> [-h|--help] [-u|--user] [-p|--project]</p>
80
+
81
+ <h2 id="DESCRIPTION">DESCRIPTION</h2>
82
+
83
+ <p>Automatically generate change log from your tags, issues, labels and pull requests on GitHub.</p>
84
+
85
+ <h2 id="OPTIONS">OPTIONS</h2>
86
+
87
+ <p> -u, --user [USER]</p>
88
+
89
+ <p> Username of the owner of target GitHub repo</p>
90
+
91
+ <p> -p, --project [PROJECT]</p>
92
+
93
+ <p> Name of project on GitHub</p>
94
+
95
+ <p> -t, --token [TOKEN]</p>
96
+
97
+ <p> To make more than 50 requests per hour your GitHub token is required. You can generate it at: https://github.com/settings/tokens/new</p>
98
+
99
+ <p> -f, --date-format [FORMAT]</p>
100
+
101
+ <p> Date format. Default is %Y-%m-%d</p>
102
+
103
+ <p> -o, --output [NAME]</p>
104
+
105
+ <p> Output file. Default is CHANGELOG.md</p>
106
+
107
+ <p> -b, --base [NAME]</p>
108
+
109
+ <p> Optional base file to append generated changes to.</p>
110
+
111
+ <p> --bugs-label [LABEL]</p>
112
+
113
+ <p> Setup custom label for bug-fixes section. Default is "<strong>Fixed bugs:</strong></p>
114
+
115
+ <p> --enhancement-label [LABEL]</p>
116
+
117
+ <p> Setup custom label for enhancements section. Default is "<strong>Implemented enhancements:</strong>"</p>
118
+
119
+ <p> --issues-label [LABEL]</p>
120
+
121
+ <p> Setup custom label for closed-issues section. Default is "<strong>Closed issues:</strong>"</p>
122
+
123
+ <p> --header-label [LABEL]</p>
124
+
125
+ <p> Setup custom header label. Default is "# Change Log"</p>
126
+
127
+ <p> --front-matter [JSON]</p>
128
+
129
+ <p> Add YAML front matter. Formatted as JSON because it's easier to add on the command line</p>
130
+
131
+ <p> --pr-label [LABEL]</p>
132
+
133
+ <p> Setup custom label for pull requests section. Default is "<strong>Merged pull requests:</strong>"</p>
134
+
135
+ <p> --[no-]issues</p>
136
+
137
+ <p> Include closed issues in changelog. Default is true</p>
138
+
139
+ <p> --[no-]issues-wo-labels</p>
140
+
141
+ <p> Include closed issues without labels in changelog. Default is true</p>
142
+
143
+ <p> --[no-]pr-wo-labels</p>
144
+
145
+ <p> Include pull requests without labels in changelog. Default is true</p>
146
+
147
+ <p> --[no-]pull-requests</p>
148
+
149
+ <p> Include pull-requests in changelog. Default is true</p>
150
+
151
+ <p> --[no-]filter-by-milestone</p>
152
+
153
+ <p> Use milestone to detect when issue was resolved. Default is true</p>
154
+
155
+ <p> --[no-]author</p>
156
+
157
+ <p> Add author of pull-request in the end. Default is true</p>
158
+
159
+ <p> --usernames-as-github-logins</p>
160
+
161
+ <p> Use GitHub tags instead of Markdown links for the author of an issue or pull-request.</p>
162
+
163
+ <p> --unreleased-only</p>
164
+
165
+ <p> Generate log from unreleased closed issues only.</p>
166
+
167
+ <p> --[no-]unreleased</p>
168
+
169
+ <p> Add to log unreleased closed issues. Default is true</p>
170
+
171
+ <p> --unreleased-label [label]</p>
172
+
173
+ <p> Setup custom label for unreleased closed issues section. Default is "<strong>Unreleased:</strong>"</p>
174
+
175
+ <p> --[no-]compare-link</p>
176
+
177
+ <p> Include compare link (Full Changelog) between older version and newer version. Default is true</p>
178
+
179
+ <p> --include-labels x,y,z</p>
180
+
181
+ <p> Only issues with the specified labels will be included in the changelog.</p>
182
+
183
+ <p> --exclude-labels x,y,z</p>
184
+
185
+ <p> Issues with the specified labels will be always excluded from changelog. Default is 'duplicate,question,invalid,wontfix'</p>
186
+
187
+ <p> --bug-labels x,y,z</p>
188
+
189
+ <p> Issues with the specified labels will be always added to "Fixed bugs" section. Default is 'bug,Bug'</p>
190
+
191
+ <p> --enhancement-labels x,y,z</p>
192
+
193
+ <p> Issues with the specified labels will be always added to "Implemented enhancements" section. Default is 'enhancement,Enhancement'</p>
194
+
195
+ <p> --between-tags x,y,z</p>
196
+
197
+ <p> Change log will be filled only between specified tags</p>
198
+
199
+ <p> --exclude-tags x,y,z</p>
200
+
201
+ <p> Change log will exclude specified tags</p>
202
+
203
+ <p> --exclude-tags-regex [REGEX]</p>
204
+
205
+ <p> Apply a regular expression on tag names so that they can be excluded, for example: --exclude-tags-regex ".*+\d{1,}"</p>
206
+
207
+ <p> --since-tag x</p>
208
+
209
+ <p> Change log will start after specified tag</p>
210
+
211
+ <p> --due-tag x</p>
212
+
213
+ <p> Change log will end before specified tag</p>
214
+
215
+ <p> --max-issues [NUMBER]</p>
216
+
217
+ <p> Max number of issues to fetch from GitHub. Default is unlimited</p>
218
+
219
+ <p> --release-url [URL]</p>
220
+
221
+ <p> The URL to point to for release links, in printf format (with the tag as variable).</p>
222
+
223
+ <p> --github-site [URL]</p>
224
+
225
+ <p> The Enterprise Github site on which your project is hosted.</p>
226
+
227
+ <p> --github-api [URL]</p>
228
+
229
+ <p> The enterprise endpoint to use for your Github API.</p>
230
+
231
+ <p> --simple-list</p>
232
+
233
+ <p> Create simple list from issues and pull requests. Default is false.</p>
234
+
235
+ <p> --future-release [RELEASE-VERSION]</p>
236
+
237
+ <p> Put the unreleased changes in the specified release number.</p>
238
+
239
+ <p> --release-branch [RELEASE-BRANCH]</p>
240
+
241
+ <p> Limit pull requests to the release branch, such as master or release</p>
242
+
243
+ <p> --http-cache</p>
244
+
245
+ <p> Use HTTP Cache to cache Github API requests (useful for large repos) Default is true.</p>
246
+
247
+ <p> --[no-]cache-file [CACHE-FILE]</p>
248
+
249
+ <p> Filename to use for cache. Default is /tmp/github-changelog-http-cache</p>
250
+
251
+ <p> --cache-log [CACHE-LOG]</p>
252
+
253
+ <p> Filename to use for cache log. Default is /tmp/github-changelog-logger.log</p>
254
+
255
+ <p> --[no-]verbose</p>
256
+
257
+ <p> Run verbosely. Default is true</p>
258
+
259
+ <p> -v, --version</p>
260
+
261
+ <p> Print version number</p>
262
+
263
+ <p> -h, --help</p>
264
+
265
+ <p> Displays Help</p>
266
+
267
+ <h2 id="EXAMPLES">EXAMPLES</h2>
268
+
269
+ <h2 id="AUTHOR">AUTHOR</h2>
270
+
271
+ <p>Written by Petr Korolev sky4winder@gmail.com</p>
272
+
273
+ <h2 id="REPORTING-BUGS">REPORTING BUGS</h2>
274
+
275
+ <p>&lt;<a href="https://github.com/skywinder/github-changelog-generator/issues" data-bare-link="true">https://github.com/skywinder/github-changelog-generator/issues</a>&gt;</p>
276
+
277
+ <h2 id="SEE-ALSO">SEE ALSO</h2>
278
+
279
+ <p>&lt;<a href="https://github.com/skywinder/github-changelog-generator/" data-bare-link="true">https://github.com/skywinder/github-changelog-generator/</a>&gt;</p>
280
+
281
+
282
+ <ol class='man-decor man-foot man foot'>
283
+ <li class='tl'></li>
284
+ <li class='tc'>November 2016</li>
285
+ <li class='tr'>git-generate-changelog(1)</li>
286
+ </ol>
287
+
288
+ </div>
289
+ </body>
290
+ </html>