Skip to content

Commit eddbfb3

Browse files
committed
Merge branch '2.1.x'
Closes spring-projectsgh-17258
2 parents d85a69a + ffbb23b commit eddbfb3

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

git/hooks/forward-merge

+19-12
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,35 @@ def find_forward_merge(message_file)
2020
message.each_line do |line|
2121
match = /^(?:Fixes|Closes) gh-(\d+) in ([\d\.]+(?:(?:M|RC)\d)?)$/.match(line)
2222
if match then
23-
issue = match[1]
24-
milestone = match[2]
25-
return ForwardMerge.new(issue, milestone, message, line)
23+
issue = match[1]
24+
milestone = match[2]
25+
return ForwardMerge.new(issue, milestone, message, line)
2626
end
2727
end
2828
return nil
2929
end
3030

31-
def find_milestone(repository, title)
32-
milestones = JSON.parse(Net::HTTP.get(URI("https://api.github.com/repos/#{repository}/milestones")))
31+
def find_milestone(username, password, repository, title)
32+
uri = URI("https://api.github.com/repos/#{repository}/milestones")
33+
http = Net::HTTP.new(uri.host, uri.port)
34+
http.use_ssl=true
35+
request = Net::HTTP::Get.new(uri.path)
36+
request.basic_auth(username, password)
37+
response = http.request(request)
38+
milestones = JSON.parse(response.body)
3339
milestones.each do |milestone|
3440
return milestone['number'] if milestone['title'] == title
3541
end
3642
puts "Milestone #{title} not found"
3743
exit 1
3844
end
3945

40-
def get_issue(repository, number)
46+
def get_issue(username, password, repository, number)
4147
uri = URI("https://api.github.com/repos/#{repository}/issues/#{number}")
4248
http = Net::HTTP.new(uri.host, uri.port)
4349
http.use_ssl=true
4450
request = Net::HTTP::Get.new(uri.path)
51+
request.basic_auth(username, password)
4552
response = http.request(request)
4653
return JSON.parse(response.body) unless response.code != '200'
4754
puts "Failed to retrieve issue #{number}: #{response.message}"
@@ -72,16 +79,16 @@ end
7279
message_file=ARGV[0]
7380
forward_merge = find_forward_merge(message_file)
7481
exit 0 unless forward_merge
75-
repository = 'spring-projects/spring-boot'
76-
existing_issue = get_issue(repository, forward_merge.issue)
77-
title = existing_issue['title']
78-
labels = existing_issue['labels'].map { |label| label['name'] }
79-
labels << "status: forward-port"
80-
milestone = find_milestone(repository, forward_merge.milestone)
8182
config = YAML.load_file(File.join(Dir.home, '.spring-boot', 'forward-merge.yml'))
8283
username = config['github']['credentials']['username']
8384
password = config['github']['credentials']['password']
8485
dry_run = config['dry_run']
86+
repository = 'spring-projects/spring-boot'
87+
existing_issue = get_issue(username, password, repository, forward_merge.issue)
88+
title = existing_issue['title']
89+
labels = existing_issue['labels'].map { |label| label['name'] }
90+
labels << "status: forward-port"
91+
milestone = find_milestone(username, password, repository, forward_merge.milestone)
8592
new_issue_number = create_issue(username, password, repository, forward_merge.issue, title, labels, milestone, forward_merge.milestone, dry_run)
8693
puts "Created gh-#{new_issue_number} for forward port of gh-#{forward_merge.issue} into #{forward_merge.milestone}"
8794
rewritten_message = forward_merge.message.sub(forward_merge.line, "Closes gh-#{new_issue_number}\n")

0 commit comments

Comments
 (0)