# frozen_string_literal: true # Rails Console only # This script will output all active webhooks currently being processed by an instance. # Replace ARRAY_OF_URLS_CALLING_INSTANCE and GHES_URL with the appropriate values before running # Prior to running this script, compile a list of the top URLs containing the phrase webhook # This should be ran prior to entering the Rails Console with the command: # grep -B1 --no-group-separator 'Faraday::TimeoutError' hookshot-logs/resqued.log | sed -n 1~2p | # \ grep -v 'Faraday::TimeoutError: request timed out' | sort | uniq -c |sort -rn | head -n 20 File.open("/tmp/urls.txt", "w") do |file| Hook.active.map do |h| urls = [ARRAY_OF_URLS_CALLING_INSTANCE] next if urls.include? h.url begin file.puts "https://GHES_URL/api/v3/repos/#{h.installation_target.full_name}/hooks/#{h.id}" rescue StandardError => e puts e.message end end end