diff --git a/lib/CHANGELOG.md b/lib/CHANGELOG.md index 4f3fe78..cf00dfb 100644 --- a/lib/CHANGELOG.md +++ b/lib/CHANGELOG.md @@ -22,7 +22,7 @@ **Merged pull requests:** -- Merged PR to Develop [\#19](https://github.com/skywinder/changelog_test/pull/19) ([skywinder](https://github.com/skywinder)) +- Merged br \(should appear in change log also\) [\#21](https://github.com/skywinder/changelog_test/pull/21) ([skywinder](https://github.com/skywinder)) - This a PR with a lot of comments and events [\#17](https://github.com/skywinder/changelog_test/pull/17) ([skywinder](https://github.com/skywinder)) - This PR closes 14 from commit [\#15](https://github.com/skywinder/changelog_test/pull/15) ([skywinder](https://github.com/skywinder)) - This PR to close \#12 from body [\#13](https://github.com/skywinder/changelog_test/pull/13) ([skywinder](https://github.com/skywinder)) diff --git a/lib/github_changelog_generator/fetcher.rb b/lib/github_changelog_generator/fetcher.rb index fa81112..eef3e6d 100644 --- a/lib/github_changelog_generator/fetcher.rb +++ b/lib/github_changelog_generator/fetcher.rb @@ -18,12 +18,12 @@ module GitHubChangelogGenerator @user = @options[:user] @project = @options[:project] @github_token = fetch_github_token - github_options = { per_page: PER_PAGE_NUMBER } - github_options[:oauth_token] = @github_token unless @github_token.nil? - github_options[:endpoint] = @options[:github_endpoint] unless @options[:github_endpoint].nil? - github_options[:site] = @options[:github_endpoint] unless @options[:github_site].nil? + @github_options = { per_page: PER_PAGE_NUMBER } + @github_options[:oauth_token] = @github_token unless @github_token.nil? + @github_options[:endpoint] = @options[:github_endpoint] unless @options[:github_endpoint].nil? + @github_options[:site] = @options[:github_endpoint] unless @options[:github_site].nil? - @github = check_github_response { Github.new github_options } + @github = check_github_response { Github.new @github_options } end # Returns GitHub token. First try to use variable, provided by --token option, @@ -123,7 +123,16 @@ Make sure, that you push tags to remote repo via 'git push --tags'".yellow def fetch_closed_pull_requests pull_requests = [] begin - response = @github.pull_requests.list @options[:user], @options[:project], state: "closed" + if @options[:release_branch].nil? + response = @github.pull_requests.list @options[:user], + @options[:project], + state: "closed" + else + response = @github.pull_requests.list @options[:user], + @options[:project], + state: "closed", + base: @options[:release_branch] + end page_i = 0 count_pages = response.count_pages response.each_page do |page| diff --git a/lib/github_changelog_generator/generator/generator_processor.rb b/lib/github_changelog_generator/generator/generator_processor.rb index e264a90..ae745e6 100644 --- a/lib/github_changelog_generator/generator/generator_processor.rb +++ b/lib/github_changelog_generator/generator/generator_processor.rb @@ -178,8 +178,10 @@ module GitHubChangelogGenerator fetched_pr = closed_pull_requests.find do |fpr| fpr.number == pr.number end - pr[:merged_at] = fetched_pr[:merged_at] - closed_pull_requests.delete(fetched_pr) + if fetched_pr + pr[:merged_at] = fetched_pr[:merged_at] + closed_pull_requests.delete(fetched_pr) + end end pull_requests.select! do |pr| diff --git a/lib/github_changelog_generator/parser.rb b/lib/github_changelog_generator/parser.rb index 46ffdef..7918c3a 100644 --- a/lib/github_changelog_generator/parser.rb +++ b/lib/github_changelog_generator/parser.rb @@ -143,6 +143,9 @@ module GitHubChangelogGenerator opts.on("--future-release [RELEASE-VERSION]", "Put the unreleased changes in the specified release number.") do |future_release| options[:future_release] = future_release end + opts.on("--release-branch [RELEASE-BRANCH]", "Limit pull requests to the release branch, such as master or release") do |release_branch| + options[:release_branch] = release_branch + end opts.on("--[no-]verbose", "Run verbosely. Default is true") do |v| options[:verbose] = v end diff --git a/lib/github_changelog_generator/task.rb b/lib/github_changelog_generator/task.rb index e87f7f2..035d6d5 100644 --- a/lib/github_changelog_generator/task.rb +++ b/lib/github_changelog_generator/task.rb @@ -16,7 +16,8 @@ module GitHubChangelogGenerator bug_labels enhancement_labels between_tags exclude_tags since_tag max_issues github_site github_endpoint simple_list - future_release verbose release_url base ) + future_release release_branch verbose release_url + base ) OPTIONS.each do |o| attr_accessor o.to_sym