diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-09-07 17:33:32 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-09-07 17:33:32 +0000 |
commit | 6cd0ec11095addfa264bf84ba6614b594921b65e (patch) | |
tree | cc99528c4fde1286530ddfa4409820afa86669ce /app/services | |
parent | f88659d005b1ad4d07755e0f296c22d424d3e1bd (diff) | |
parent | 9e2015752848c908d99a26daf3c0e6e968b95f68 (diff) | |
download | gitlab-ce-6cd0ec11095addfa264bf84ba6614b594921b65e.tar.gz |
Merge branch '37288-fix-wrong-header-when-testing-webhook' into 'master'
Fix a wrong `X-Gitlab-Event` header when testing webhooks
Closes #37288
See merge request !14108
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/test_hooks/base_service.rb | 7 | ||||
-rw-r--r-- | app/services/web_hook_service.rb | 2 |
2 files changed, 4 insertions, 5 deletions
diff --git a/app/services/test_hooks/base_service.rb b/app/services/test_hooks/base_service.rb index 4abd2c44b2f..20d90504bd2 100644 --- a/app/services/test_hooks/base_service.rb +++ b/app/services/test_hooks/base_service.rb @@ -9,18 +9,17 @@ module TestHooks end def execute + trigger_key = hook.class::TRIGGERS.key(trigger.to_sym) trigger_data_method = "#{trigger}_data" - if !self.respond_to?(trigger_data_method, true) || - !hook.class::TRIGGERS.value?(trigger.to_sym) - + if trigger_key.nil? || !self.respond_to?(trigger_data_method, true) return error('Testing not available for this hook') end error_message = catch(:validation_error) do sample_data = self.__send__(trigger_data_method) # rubocop:disable GitlabSecurity/PublicSend - return hook.execute(sample_data, trigger) + return hook.execute(sample_data, trigger_key) end error(error_message) diff --git a/app/services/web_hook_service.rb b/app/services/web_hook_service.rb index 2825478926a..cd99e0b90f9 100644 --- a/app/services/web_hook_service.rb +++ b/app/services/web_hook_service.rb @@ -19,7 +19,7 @@ class WebHookService def initialize(hook, data, hook_name) @hook = hook @data = data - @hook_name = hook_name + @hook_name = hook_name.to_s end def execute |