github_changelog_generator 1.13.2 → 1.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/github_changelog_generator.rb +6 -1
- data/lib/github_changelog_generator/generator/generator.rb +28 -28
- data/lib/github_changelog_generator/generator/generator_fetcher.rb +23 -20
- data/lib/github_changelog_generator/generator/generator_generation.rb +40 -53
- data/lib/github_changelog_generator/generator/generator_processor.rb +32 -22
- data/lib/github_changelog_generator/generator/generator_tags.rb +77 -46
- data/lib/github_changelog_generator/octo_fetcher.rb +363 -0
- data/lib/github_changelog_generator/options.rb +92 -0
- data/lib/github_changelog_generator/parser.rb +21 -5
- data/lib/github_changelog_generator/parser_file.rb +2 -2
- data/lib/github_changelog_generator/version.rb +1 -1
- data/man/git-generate-changelog.1 +44 -2
- data/man/git-generate-changelog.1.html +290 -0
- data/man/git-generate-changelog.md +29 -1
- data/spec/spec_helper.rb +21 -0
- data/spec/unit/generator/generator_processor_spec.rb +4 -4
- data/spec/unit/generator/generator_tags_spec.rb +43 -40
- data/spec/unit/octo_fetcher_spec.rb +528 -0
- data/spec/unit/options_spec.rb +42 -0
- data/spec/unit/reader_spec.rb +0 -4
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid/returns_issue_with_proper_key/values.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid/returns_issues.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid/returns_issues_with_labels.json +1 -0
- 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
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_issues_and_pr/when_API_call_is_valid/returns_pull_requests_with_labels.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_pull_requests/when_API_call_is_valid.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_pull_requests/when_API_call_is_valid/returns_correct_pull_request_keys.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_closed_pull_requests/when_API_call_is_valid/returns_pull_requests.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_commit/when_API_call_is_valid.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_commit/when_API_call_is_valid/returns_commit.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_date_of_tag/when_API_call_is_valid.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_date_of_tag/when_API_call_is_valid/returns_date.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_events_async/when_API_call_is_valid.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_fetch_events_async/when_API_call_is_valid/populates_issues.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_github_fetch_tags/when_API_call_is_valid.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_github_fetch_tags/when_API_call_is_valid/should_return_tags.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_github_fetch_tags/when_API_call_is_valid/should_return_tags_count.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_github_fetch_tags/when_wrong_token_provided.json +1 -0
- data/spec/vcr/GitHubChangelogGenerator_OctoFetcher/_github_fetch_tags/when_wrong_token_provided/should_raise_Unauthorized_error.json +1 -0
- metadata +97 -12
- data/lib/CHANGELOG.md +0 -58
- data/lib/github_changelog_generator/fetcher.rb +0 -226
- 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]", "
|
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.
|
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,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" "
|
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
|
-
|
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><<a href="https://github.com/skywinder/github-changelog-generator/issues" data-bare-link="true">https://github.com/skywinder/github-changelog-generator/issues</a>></p>
|
276
|
+
|
277
|
+
<h2 id="SEE-ALSO">SEE ALSO</h2>
|
278
|
+
|
279
|
+
<p><<a href="https://github.com/skywinder/github-changelog-generator/" data-bare-link="true">https://github.com/skywinder/github-changelog-generator/</a>></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>
|