summaryrefslogtreecommitdiff
path: root/app/services
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2017-09-07 17:33:32 +0000
committerDouwe Maan <douwe@gitlab.com>2017-09-07 17:33:32 +0000
commit6cd0ec11095addfa264bf84ba6614b594921b65e (patch)
treecc99528c4fde1286530ddfa4409820afa86669ce /app/services
parentf88659d005b1ad4d07755e0f296c22d424d3e1bd (diff)
parent9e2015752848c908d99a26daf3c0e6e968b95f68 (diff)
downloadgitlab-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.rb7
-rw-r--r--app/services/web_hook_service.rb2
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