Accept 2xx status codes for successful Web hook triggers
Closes https://github.com/gitlabhq/gitlabhq/issues/9956
This commit is contained in:
parent
61561a9eeb
commit
8386edafd1
3 changed files with 14 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
|||
Please view this file on the master branch, on stable branches it's out of date.
|
||||
|
||||
v 8.4.0 (unreleased)
|
||||
- Accept 2xx status codes for successful Web hook triggers (Stan Hu)
|
||||
- Fix missing date of month in network graph when commits span a month (Stan Hu)
|
||||
- Expire view caches when application settings change (e.g. Gravatar disabled) (Stan Hu)
|
||||
- Don't notify users twice if they are both project watchers and subscribers (Stan Hu)
|
||||
|
|
|
@ -60,7 +60,7 @@ class WebHook < ActiveRecord::Base
|
|||
basic_auth: auth)
|
||||
end
|
||||
|
||||
[response.code == 200, ActionView::Base.full_sanitizer.sanitize(response.to_s)]
|
||||
[(response.code >= 200 && response.code < 300), ActionView::Base.full_sanitizer.sanitize(response.to_s)]
|
||||
rescue SocketError, OpenSSL::SSL::SSLError, Errno::ECONNRESET, Errno::ECONNREFUSED, Net::OpenTimeout => e
|
||||
logger.error("WebHook Error => #{e}")
|
||||
[false, e.to_s]
|
||||
|
|
|
@ -77,5 +77,17 @@ describe ProjectHook, models: true do
|
|||
|
||||
expect(@project_hook.execute(@data, 'push_hooks')).to eq([false, 'SSL error'])
|
||||
end
|
||||
|
||||
it "handles 200 status code" do
|
||||
WebMock.stub_request(:post, @project_hook.url).to_return(status: 200, body: "Success")
|
||||
|
||||
expect(@project_hook.execute(@data, 'push_hooks')).to eq([true, 'Success'])
|
||||
end
|
||||
|
||||
it "handles 2xx status codes" do
|
||||
WebMock.stub_request(:post, @project_hook.url).to_return(status: 201, body: "Success")
|
||||
|
||||
expect(@project_hook.execute(@data, 'push_hooks')).to eq([true, 'Success'])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue