From 656fb9a2a6d295b8084fb2e429096bc338c1635d Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 24 Mar 2025 13:53:14 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20=E9=A1=B9=E7=9B=AE=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E4=B8=8D=E5=AD=98=E5=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/jobs/touch_webhook_job.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/jobs/touch_webhook_job.rb b/app/jobs/touch_webhook_job.rb index 514fa6950..0446b8f4a 100644 --- a/app/jobs/touch_webhook_job.rb +++ b/app/jobs/touch_webhook_job.rb @@ -8,7 +8,8 @@ class TouchWebhookJob < ApplicationJob issue = Issue.find_by_id issue_id sender = User.find_by_id sender_id return if issue.nil? || sender.nil? - issue.project.webhooks.each do |webhook| + return if issue.project.nil? + issue.project.webhooks.each do |webhook| next unless webhook.events["events"]["issues"] _, _, @webhook_task = Webhook::IssueClient.new(webhook, issue, sender,"issues").do_request Rails.logger.info "Touch Webhook Response result: #{@webhook_task.response_content}" @@ -18,6 +19,7 @@ class TouchWebhookJob < ApplicationJob issue = Issue.find_by_id issue_id sender = User.find_by_id sender_id return if issue.nil? || sender.nil? || !changes.is_a?(Hash) || changes.blank? + return if issue.project.nil? issue.project.webhooks.each do |webhook| next unless webhook.events["events"]["issues"] _, _, @webhook_task = Webhook::IssueClient.new(webhook, issue, sender, "issues", changes.stringify_keys).do_request @@ -29,6 +31,7 @@ class TouchWebhookJob < ApplicationJob issue = Issue.find_by_id issue_id sender = User.find_by_id sender_id return if issue.nil? || sender.nil? + return if issue.project.nil? issue.project.webhooks.each do |webhook| next unless webhook.events["events"]["issue_assign"] _, _, @webhook_task = Webhook::IssueClient.new(webhook, issue, sender, "issue_assign", changes.stringify_keys).do_request @@ -39,7 +42,8 @@ class TouchWebhookJob < ApplicationJob issue_id, sender_id, changes = args[0], args[1], args[2] issue = Issue.find_by_id issue_id sender = User.find_by_id sender_id - return if issue.nil? || sender.nil? + return if issue.nil? || sender.nil? + return if issue.project.nil? issue.project.webhooks.each do |webhook| next unless webhook.events["events"]["issue_label"] _, _, @webhook_task = Webhook::IssueClient.new(webhook, issue, sender, "issue_label", changes.stringify_keys).do_request @@ -53,6 +57,7 @@ class TouchWebhookJob < ApplicationJob return if issue.nil? || sender.nil? comment = issue.comment_journals.find_by_id comment_id return if action_type == 'edited' && comment_json.blank? + return if issue.project.nil? issue.project.webhooks.each do |webhook| next unless webhook.events["events"]["issue_comment"] @@ -68,6 +73,7 @@ class TouchWebhookJob < ApplicationJob return if issue.nil? || pull.nil? || sender.nil? comment = issue.comment_journals.find_by_id comment_id return if action_type == 'edited' && comment_json.blank? + return if issue.project.nil? pull.project.webhooks.each do |webhook| next unless webhook.events["events"]["pull_request_comment"]