Class: Channel::Hangouts::V3
- Inherits:
-
Integration
- Object
- Integration
- Channel::Hangouts::V3
- Defined in:
- app/models/pager_tree/integrations/channel/hangouts/v3.rb
Constant Summary collapse
- OPTIONS =
[ {key: :incoming_webhook_url, type: :string, default: nil}, {key: :alert_open, type: :boolean, default: false}, {key: :alert_assigned, type: :boolean, default: false}, {key: :alert_acknowledged, type: :boolean, default: false}, {key: :alert_resolved, type: :boolean, default: false}, {key: :alert_dropped, type: :boolean, default: false}, {key: :thread_same_alert, type: :boolean, default: false}, {key: :outgoing_rules, type: :string, default: nil} ]
Instance Method Summary collapse
- #adapter_outgoing_interest?(event_name) ⇒ Boolean
- #adapter_process_outgoing ⇒ Object
- #adapter_show_outgoing_webhook_delivery? ⇒ Boolean
- #adapter_supports_auto_aggregate? ⇒ Boolean
- #adapter_supports_auto_resolve? ⇒ Boolean
- #adapter_supports_description_template? ⇒ Boolean
- #adapter_supports_incoming? ⇒ Boolean
- #adapter_supports_outgoing? ⇒ Boolean
- #adapter_supports_title_template? ⇒ Boolean
Instance Method Details
#adapter_outgoing_interest?(event_name) ⇒ Boolean
56 57 58 |
# File 'app/models/pager_tree/integrations/channel/hangouts/v3.rb', line 56 def adapter_outgoing_interest?(event_name) try("option_#{event_name}") || false end |
#adapter_process_outgoing ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'app/models/pager_tree/integrations/channel/hangouts/v3.rb', line 60 def adapter_process_outgoing url = adapter_outgoing_event.outgoing_rules_data.dig("webhook_url") || option_incoming_webhook_url body = _blocks.merge(adapter_outgoing_event.outgoing_rules_data.except("webhook_url")) if option_thread_same_alert == true body[:thread] = {threadKey: _alert.id} uri = URI(url) uri_params = URI.decode_www_form(uri.query || "").to_h.merge({messageReplyOption: "REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD"}) uri.query = URI.encode_www_form(uri_params) url = uri.to_s end outgoing_webhook_delivery = OutgoingWebhookDelivery.factory( resource: self, url: url, body: body ) outgoing_webhook_delivery.save! outgoing_webhook_delivery.deliver_later outgoing_webhook_delivery end |
#adapter_show_outgoing_webhook_delivery? ⇒ Boolean
36 37 38 |
# File 'app/models/pager_tree/integrations/channel/hangouts/v3.rb', line 36 def adapter_show_outgoing_webhook_delivery? true end |
#adapter_supports_auto_aggregate? ⇒ Boolean
48 49 50 |
# File 'app/models/pager_tree/integrations/channel/hangouts/v3.rb', line 48 def adapter_supports_auto_aggregate? false end |
#adapter_supports_auto_resolve? ⇒ Boolean
52 53 54 |
# File 'app/models/pager_tree/integrations/channel/hangouts/v3.rb', line 52 def adapter_supports_auto_resolve? false end |
#adapter_supports_description_template? ⇒ Boolean
44 45 46 |
# File 'app/models/pager_tree/integrations/channel/hangouts/v3.rb', line 44 def adapter_supports_description_template? false end |
#adapter_supports_incoming? ⇒ Boolean
28 29 30 |
# File 'app/models/pager_tree/integrations/channel/hangouts/v3.rb', line 28 def adapter_supports_incoming? false end |
#adapter_supports_outgoing? ⇒ Boolean
32 33 34 |
# File 'app/models/pager_tree/integrations/channel/hangouts/v3.rb', line 32 def adapter_supports_outgoing? true end |
#adapter_supports_title_template? ⇒ Boolean
40 41 42 |
# File 'app/models/pager_tree/integrations/channel/hangouts/v3.rb', line 40 def adapter_supports_title_template? false end |