summaryrefslogtreecommitdiff
path: root/app/workers/web_hook_worker.rb
diff options
context:
space:
mode:
authorAlexander Randa <randa.alex@gmail.com>2017-04-27 10:08:57 +0000
committerAlexander Randa <randa.alex@gmail.com>2017-05-25 10:07:52 +0300
commit330789c23c777d8ca646eba7c25f39cb7342cdee (patch)
tree271bd7cc0ac2c5250f2f587069cf3a0e3f2d9790 /app/workers/web_hook_worker.rb
parenta5f0656392699dad7677a368c315217ea99b3982 (diff)
downloadgitlab-ce-330789c23c777d8ca646eba7c25f39cb7342cdee.tar.gz
Implement web hooks logging
* implemented logging of project and system web hooks * implemented UI for user area (project hooks) * implemented UI for admin area (system hooks) * implemented retry of logged webhook * NOT imeplemented log remover
Diffstat (limited to 'app/workers/web_hook_worker.rb')
-rw-r--r--app/workers/web_hook_worker.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/workers/web_hook_worker.rb b/app/workers/web_hook_worker.rb
new file mode 100644
index 00000000000..ad5ddf02a12
--- /dev/null
+++ b/app/workers/web_hook_worker.rb
@@ -0,0 +1,13 @@
+class WebHookWorker
+ include Sidekiq::Worker
+ include DedicatedSidekiqQueue
+
+ sidekiq_options retry: 4
+
+ def perform(hook_id, data, hook_name)
+ hook = WebHook.find(hook_id)
+ data = data.with_indifferent_access
+
+ WebHookService.new(hook, data, hook_name).execute
+ end
+end