Add release-branch option to filter the Pull Requests by those applied on a partcular release branch
This commit is contained in:
parent
3fdf0c64df
commit
06a8fe8169
|
@ -22,6 +22,7 @@ module GitHubChangelogGenerator
|
||||||
github_options[:oauth_token] = @github_token unless @github_token.nil?
|
github_options[:oauth_token] = @github_token unless @github_token.nil?
|
||||||
github_options[:endpoint] = @options[:github_endpoint] unless @options[:github_endpoint].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[:site] = @options[:github_endpoint] unless @options[:github_site].nil?
|
||||||
|
@release_branch = @options[:release_branch] unless @options[:release_branch].nil?
|
||||||
|
|
||||||
@github = check_github_response { Github.new github_options }
|
@github = check_github_response { Github.new github_options }
|
||||||
end
|
end
|
||||||
|
@ -123,7 +124,11 @@ Make sure, that you push tags to remote repo via 'git push --tags'".yellow
|
||||||
def fetch_closed_pull_requests
|
def fetch_closed_pull_requests
|
||||||
pull_requests = []
|
pull_requests = []
|
||||||
begin
|
begin
|
||||||
|
if @options[:release_branch].nil?
|
||||||
response = @github.pull_requests.list @options[:user], @options[:project], state: "closed"
|
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
|
page_i = 0
|
||||||
count_pages = response.count_pages
|
count_pages = response.count_pages
|
||||||
response.each_page do |page|
|
response.each_page do |page|
|
||||||
|
|
|
@ -178,9 +178,11 @@ module GitHubChangelogGenerator
|
||||||
fetched_pr = closed_pull_requests.find do |fpr|
|
fetched_pr = closed_pull_requests.find do |fpr|
|
||||||
fpr.number == pr.number
|
fpr.number == pr.number
|
||||||
end
|
end
|
||||||
|
unless fetched_pr.nil?
|
||||||
pr[:merged_at] = fetched_pr[:merged_at]
|
pr[:merged_at] = fetched_pr[:merged_at]
|
||||||
closed_pull_requests.delete(fetched_pr)
|
closed_pull_requests.delete(fetched_pr)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
pull_requests.select! do |pr|
|
pull_requests.select! do |pr|
|
||||||
!pr[:merged_at].nil?
|
!pr[:merged_at].nil?
|
||||||
|
|
|
@ -143,6 +143,9 @@ module GitHubChangelogGenerator
|
||||||
opts.on("--future-release [RELEASE-VERSION]", "Put the unreleased changes in the specified release number.") do |future_release|
|
opts.on("--future-release [RELEASE-VERSION]", "Put the unreleased changes in the specified release number.") do |future_release|
|
||||||
options[:future_release] = future_release
|
options[:future_release] = future_release
|
||||||
end
|
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|
|
opts.on("--[no-]verbose", "Run verbosely. Default is true") do |v|
|
||||||
options[:verbose] = v
|
options[:verbose] = v
|
||||||
end
|
end
|
||||||
|
|
|
@ -16,7 +16,8 @@ module GitHubChangelogGenerator
|
||||||
bug_labels enhancement_labels
|
bug_labels enhancement_labels
|
||||||
between_tags exclude_tags since_tag max_issues
|
between_tags exclude_tags since_tag max_issues
|
||||||
github_site github_endpoint simple_list
|
github_site github_endpoint simple_list
|
||||||
future_release verbose release_url base )
|
future_release release_branch verbose release_url
|
||||||
|
base )
|
||||||
|
|
||||||
OPTIONS.each do |o|
|
OPTIONS.each do |o|
|
||||||
attr_accessor o.to_sym
|
attr_accessor o.to_sym
|
||||||
|
|
Loading…
Reference in New Issue
Block a user