45 lines
923 B
Ruby
45 lines
923 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module WebHooks
|
||
|
module HookLogActions
|
||
|
extend ActiveSupport::Concern
|
||
|
include HookExecutionNotice
|
||
|
|
||
|
included do
|
||
|
before_action :hook, only: [:show, :retry]
|
||
|
before_action :hook_log, only: [:show, :retry]
|
||
|
|
||
|
respond_to :html
|
||
|
|
||
|
feature_category :integrations
|
||
|
urgency :low, [:retry]
|
||
|
end
|
||
|
|
||
|
def show
|
||
|
hide_search_settings
|
||
|
end
|
||
|
|
||
|
def retry
|
||
|
execute_hook
|
||
|
redirect_to after_retry_redirect_path
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
# rubocop:disable Gitlab/ModuleWithInstanceVariables
|
||
|
def hook_log
|
||
|
@hook_log ||= hook.web_hook_logs.find(params[:id])
|
||
|
end
|
||
|
# rubocop:enable Gitlab/ModuleWithInstanceVariables
|
||
|
|
||
|
def execute_hook
|
||
|
result = hook.execute(hook_log.request_data, hook_log.trigger)
|
||
|
set_hook_execution_notice(result)
|
||
|
end
|
||
|
|
||
|
def hide_search_settings
|
||
|
@hide_search_settings ||= true
|
||
|
end
|
||
|
end
|
||
|
end
|