diff --git a/lib/travis/listener/app.rb b/lib/travis/listener/app.rb index b4c5a82..ea4284b 100644 --- a/lib/travis/listener/app.rb +++ b/lib/travis/listener/app.rb @@ -34,7 +34,7 @@ class App < Sinatra::Base end get '/' do - redirect "http://travis-ci.com" + redirect 'http://travis-ci.com' end # Used for new relic uptime monitoring @@ -77,7 +77,7 @@ def replace_bot_sender return unless payload && decoded_payload.dig('sender', 'type')&.downcase == 'bot' payload_data = JSON.parse(payload) - payload_data['sender']= { + payload_data['sender'] = { type: 'User', github_id: 0, vcs_id: '0', @@ -129,10 +129,10 @@ def dispatch_event def handle_event? if accepted_event_excluding_checks? || rerequested_check? - Metriks.meter("listener.handle.accept").mark + Metriks.meter('listener.handle.accept').mark true else - Metriks.meter("listener.handle.reject").mark + Metriks.meter('listener.handle.reject').mark false end end @@ -153,7 +153,7 @@ def rerequested_check? end def checks_event? - ['check_run', 'check_suite'].include?(event_type) + %w[check_run check_suite].include?(event_type) end def tag_created_check_suite? @@ -163,21 +163,21 @@ def tag_created_check_suite? def log_event details = { - uuid: uuid, + uuid: uuid, delivery_guid: delivery_guid, - type: event_type + type: event_type } - info(details.merge(event_details).map{|k,v| "#{k}=#{v}"}.join(" ")) + info(details.merge(event_details).map { |k, v| "#{k}=#{v}"}.join(' ')) end def data { - :type => event_type, - :payload => payload, - :uuid => uuid, - :github_guid => delivery_guid, - :github_event => event_type, + type: event_type, + payload: payload, + uuid: uuid, + github_guid: delivery_guid, + github_event: event_type } end @@ -195,15 +195,15 @@ def delivery_guid def integration_type if !params[:payload].blank? - "webhook" + 'webhook' else - "github_apps" + 'github_apps' end end def event_details Schemas.event_details(event_type, decoded_payload) - rescue => e + rescue StandardError => e error("Error logging payload: #{e.message}") error("Payload causing error: #{decoded_payload}") Raven.capture_exception(e) @@ -240,20 +240,18 @@ def payload params[:payload] elsif !request_body.blank? request_body - else - nil end end def request_body @_request_body ||= begin request.body.rewind - request.body.read.force_encoding("utf-8") + request.body.read.force_encoding('utf-8') end end def report_memory_usage - Metriks.gauge("listener.gc.heap_live_slots").set(GC.stat[:heap_live_slots]) + Metriks.gauge('listener.gc.heap_live_slots').set(GC.stat[:heap_live_slots]) end end end diff --git a/lib/travis/listener/schemas.rb b/lib/travis/listener/schemas.rb index c72a66a..e7dfcf6 100644 --- a/lib/travis/listener/schemas.rb +++ b/lib/travis/listener/schemas.rb @@ -144,9 +144,9 @@ def self.event_details(event_type, payload) source: payload['pull_request']['head']['repo'] && payload['pull_request']['head']['repo']['full_name'], head: payload['pull_request']['head']['sha'][0..6], ref: payload['pull_request']['head']['ref'], - user: payload['pull_request']['head']['user']['login'], - sender: payload['sender']['login'], - sender_type: payload['sender']['type'] + user: payload.dig('pull_request', 'head', 'user', 'login'), + sender: payload.dig('sender', 'login'), + sender_type: payload.dig('sender', 'type') } when 'push' { @@ -154,27 +154,30 @@ def self.event_details(event_type, payload) ref: payload['ref'], head: payload['head_commit'] && payload['head_commit']['id'][0..6], commits: (payload["commits"] || []).map {|c| c['id'][0..6]}.join(","), - sender: payload['sender']['login'], - sender_type: payload['sender']['type'] + sender: payload.dig('sender', 'login'), + sender_type: payload.dig('sender', 'type') } when 'check_suite' { - action: payload['action'], - ref_type: payload['check_suite']['ref_type'], - repository: payload["repository"]["full_name"], - sender: payload['sender']['login'] + action: payload['action'], + ref_type: payload['check_suite']['ref_type'], + repository: payload["repository"]["full_name"], + sender: payload.dig('sender', 'login'), + sender_type: payload.dig('sender', 'type') } when 'create', 'delete', 'repository', 'check_run' { action: payload['action'], repository: payload["repository"]["full_name"], - sender: payload['sender']['login'] + sender: payload.dig('sender', 'login'), + sender_type: payload.dig('sender', 'type') } when 'installation', 'installation_repositories' { action: payload['action'], installation: payload["installation"]["account"]["login"], - sender: payload['sender']['login'] + sender: payload.dig('sender', 'login'), + sender_type: payload.dig('sender', 'type') } else { }