pager_tree-integrations 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/pager_tree/integrations/alert.rb +3 -1
  3. data/app/models/pager_tree/integrations/app_dynamics/v3.rb +74 -0
  4. data/app/models/pager_tree/integrations/auvik/v3.rb +94 -0
  5. data/app/models/pager_tree/integrations/aws_cloudwatch/v3.rb +108 -0
  6. data/app/models/pager_tree/integrations/azure_monitor/v3.rb +79 -0
  7. data/app/models/pager_tree/integrations/boolean_store_accessor.rb +42 -0
  8. data/app/models/pager_tree/integrations/channel/hangouts/v3.rb +176 -0
  9. data/app/models/pager_tree/integrations/channel/mattermost/v3.rb +6 -0
  10. data/app/models/pager_tree/integrations/channel/microsoft_teams/v3.rb +142 -0
  11. data/app/models/pager_tree/integrations/channel/slack/v3.rb +136 -0
  12. data/app/models/pager_tree/integrations/cronitor/v3.rb +64 -0
  13. data/app/models/pager_tree/integrations/datadog/v3.rb +72 -0
  14. data/app/models/pager_tree/integrations/dead_mans_snitch/v3.rb +76 -0
  15. data/app/models/pager_tree/integrations/elast_alert/v3.rb +63 -0
  16. data/app/models/pager_tree/integrations/form/v3.rb +114 -0
  17. data/app/models/pager_tree/integrations/freshdesk/v3.rb +103 -0
  18. data/app/models/pager_tree/integrations/freshservice/v3.rb +103 -0
  19. data/app/models/pager_tree/integrations/grafana/v3.rb +67 -0
  20. data/app/models/pager_tree/integrations/healthchecks/v3.rb +68 -0
  21. data/app/models/pager_tree/integrations/honeybadger/v3.rb +76 -0
  22. data/app/models/pager_tree/integrations/hyperping/v3.rb +60 -0
  23. data/app/models/pager_tree/integrations/integration.rb +27 -5
  24. data/app/models/pager_tree/integrations/jira_server/v3.rb +61 -0
  25. data/app/models/pager_tree/integrations/jotform/v3.rb +50 -0
  26. data/app/models/pager_tree/integrations/kapacitor/v3.rb +65 -0
  27. data/app/models/pager_tree/integrations/logic_monitor/v3.rb +79 -0
  28. data/app/models/pager_tree/integrations/mattermost/outgoing_webhook/v3.rb +77 -0
  29. data/app/models/pager_tree/integrations/new_relic/v3.rb +67 -0
  30. data/app/models/pager_tree/integrations/outgoing_event.rb +2 -0
  31. data/app/models/pager_tree/integrations/outgoing_webhook/v3.rb +37 -6
  32. data/app/models/pager_tree/integrations/outgoing_webhook_delivery/hook_relay.rb +8 -6
  33. data/app/models/pager_tree/integrations/outgoing_webhook_delivery.rb +1 -1
  34. data/app/models/pager_tree/integrations/pingdom/v3.rb +71 -0
  35. data/app/models/pager_tree/integrations/prometheus/v3.rb +79 -0
  36. data/app/models/pager_tree/integrations/prtg/v3.rb +58 -0
  37. data/app/models/pager_tree/integrations/server_guard24/v3.rb +74 -0
  38. data/app/models/pager_tree/integrations/site24x7/v3.rb +68 -0
  39. data/app/models/pager_tree/integrations/solar_winds/v3.rb +77 -0
  40. data/app/models/pager_tree/integrations/stackdriver/v3.rb +60 -0
  41. data/app/models/pager_tree/integrations/status_cake/v3.rb +65 -0
  42. data/app/models/pager_tree/integrations/twilio/incoming_sms/v3.rb +78 -0
  43. data/app/models/pager_tree/integrations/typeform/v3.rb +43 -0
  44. data/app/models/pager_tree/integrations/uptime/v3.rb +68 -0
  45. data/app/models/pager_tree/integrations/uptime_robot/v3.rb +79 -0
  46. data/app/models/pager_tree/integrations/webhook/v3.rb +112 -0
  47. data/app/models/pager_tree/integrations/zendesk/v3.rb +83 -0
  48. data/app/views/pager_tree/integrations/app_dynamics/v3/_form_options.html.erb +0 -0
  49. data/app/views/pager_tree/integrations/app_dynamics/v3/_show_options.html.erb +0 -0
  50. data/app/views/pager_tree/integrations/auvik/v3/_form_options.html.erb +0 -0
  51. data/app/views/pager_tree/integrations/auvik/v3/_show_options.html.erb +0 -0
  52. data/app/views/pager_tree/integrations/aws_cloudwatch/v3/_form_options.html.erb +0 -0
  53. data/app/views/pager_tree/integrations/aws_cloudwatch/v3/_show_options.html.erb +0 -0
  54. data/app/views/pager_tree/integrations/azure_monitor/v3/_form_options.html.erb +0 -0
  55. data/app/views/pager_tree/integrations/azure_monitor/v3/_show_options.html.erb +0 -0
  56. data/app/views/pager_tree/integrations/channel/hangouts/v3/_form_options.html.erb +34 -0
  57. data/app/views/pager_tree/integrations/channel/hangouts/v3/_show_options.html.erb +40 -0
  58. data/app/views/pager_tree/integrations/channel/mattermost/v3/_form_options.html.erb +1 -0
  59. data/app/views/pager_tree/integrations/channel/mattermost/v3/_show_options.html.erb +1 -0
  60. data/app/views/pager_tree/integrations/channel/microsoft_teams/v3/_form_options.html.erb +34 -0
  61. data/app/views/pager_tree/integrations/channel/microsoft_teams/v3/_show_options.html.erb +40 -0
  62. data/app/views/pager_tree/integrations/channel/slack/v3/_form_options.html.erb +34 -0
  63. data/app/views/pager_tree/integrations/channel/slack/v3/_show_options.html.erb +40 -0
  64. data/app/views/pager_tree/integrations/cronitor/v3/_form_options.html.erb +0 -0
  65. data/app/views/pager_tree/integrations/cronitor/v3/_show_options.html.erb +0 -0
  66. data/app/views/pager_tree/integrations/datadog/v3/_form_options.html.erb +0 -0
  67. data/app/views/pager_tree/integrations/datadog/v3/_show_options.html.erb +0 -0
  68. data/app/views/pager_tree/integrations/dead_mans_snitch/v3/_form_options.html.erb +0 -0
  69. data/app/views/pager_tree/integrations/dead_mans_snitch/v3/_show_options.html.erb +0 -0
  70. data/app/views/pager_tree/integrations/elast_alert/v3/_form_options.html.erb +0 -0
  71. data/app/views/pager_tree/integrations/elast_alert/v3/_show_options.html.erb +0 -0
  72. data/app/views/pager_tree/integrations/form/v3/_form_options.html.erb +64 -0
  73. data/app/views/pager_tree/integrations/form/v3/_show_options.html.erb +122 -0
  74. data/app/views/pager_tree/integrations/freshdesk/v3/_form_options.html.erb +0 -0
  75. data/app/views/pager_tree/integrations/freshdesk/v3/_show_options.html.erb +0 -0
  76. data/app/views/pager_tree/integrations/freshservice/v3/_form_options.html.erb +0 -0
  77. data/app/views/pager_tree/integrations/freshservice/v3/_show_options.html.erb +0 -0
  78. data/app/views/pager_tree/integrations/grafana/v3/_form_options.html.erb +0 -0
  79. data/app/views/pager_tree/integrations/grafana/v3/_show_options.html.erb +0 -0
  80. data/app/views/pager_tree/integrations/healthchecks/v3/_form_options.html.erb +0 -0
  81. data/app/views/pager_tree/integrations/healthchecks/v3/_show_options.html.erb +0 -0
  82. data/app/views/pager_tree/integrations/honeybadger/v3/_form_options.html.erb +7 -0
  83. data/app/views/pager_tree/integrations/honeybadger/v3/_show_options.html.erb +12 -0
  84. data/app/views/pager_tree/integrations/hyperping/v3/_form_options.html.erb +0 -0
  85. data/app/views/pager_tree/integrations/hyperping/v3/_show_options.html.erb +0 -0
  86. data/app/views/pager_tree/integrations/jira_server/v3/_form_options.html.erb +7 -0
  87. data/app/views/pager_tree/integrations/jira_server/v3/_show_options.html.erb +12 -0
  88. data/app/views/pager_tree/integrations/jotform/v3/_form_options.html.erb +0 -0
  89. data/app/views/pager_tree/integrations/jotform/v3/_show_options.html.erb +0 -0
  90. data/app/views/pager_tree/integrations/kapacitor/v3/_form_options.html.erb +0 -0
  91. data/app/views/pager_tree/integrations/kapacitor/v3/_show_options.html.erb +0 -0
  92. data/app/views/pager_tree/integrations/logic_monitor/v3/_form_options.html.erb +0 -0
  93. data/app/views/pager_tree/integrations/logic_monitor/v3/_show_options.html.erb +0 -0
  94. data/app/views/pager_tree/integrations/mattermost/outgoing_webhook/v3/_form_options.html.erb +7 -0
  95. data/app/views/pager_tree/integrations/mattermost/outgoing_webhook/v3/_show_options.html.erb +12 -0
  96. data/app/views/pager_tree/integrations/new_relic/v3/_form_options.html.erb +0 -0
  97. data/app/views/pager_tree/integrations/new_relic/v3/_show_options.html.erb +0 -0
  98. data/app/views/pager_tree/integrations/outgoing_webhook/v3/_form_options.html.erb +12 -4
  99. data/app/views/pager_tree/integrations/outgoing_webhook/v3/_show_options.html.erb +20 -2
  100. data/app/views/pager_tree/integrations/pingdom/v3/_form_options.html.erb +0 -0
  101. data/app/views/pager_tree/integrations/pingdom/v3/_show_options.html.erb +0 -0
  102. data/app/views/pager_tree/integrations/prometheus/v3/_form_options.html.erb +0 -0
  103. data/app/views/pager_tree/integrations/prometheus/v3/_show_options.html.erb +0 -0
  104. data/app/views/pager_tree/integrations/prtg/v3/_form_options.html.erb +0 -0
  105. data/app/views/pager_tree/integrations/prtg/v3/_show_options.html.erb +0 -0
  106. data/app/views/pager_tree/integrations/server_guard24/v3/_form_options.html.erb +7 -0
  107. data/app/views/pager_tree/integrations/server_guard24/v3/_show_options.html.erb +12 -0
  108. data/app/views/pager_tree/integrations/site24x7/v3/_form_options.html.erb +0 -0
  109. data/app/views/pager_tree/integrations/site24x7/v3/_show_options.html.erb +0 -0
  110. data/app/views/pager_tree/integrations/solar_winds/v3/_form_options.html.erb +0 -0
  111. data/app/views/pager_tree/integrations/solar_winds/v3/_show_options.html.erb +0 -0
  112. data/app/views/pager_tree/integrations/stackdriver/v3/_form_options.html.erb +0 -0
  113. data/app/views/pager_tree/integrations/stackdriver/v3/_show_options.html.erb +0 -0
  114. data/app/views/pager_tree/integrations/status_cake/v3/_form_options.html.erb +0 -0
  115. data/app/views/pager_tree/integrations/status_cake/v3/_show_options.html.erb +0 -0
  116. data/app/views/pager_tree/integrations/twilio/incoming_sms/v3/_form_options.html.erb +0 -0
  117. data/app/views/pager_tree/integrations/twilio/incoming_sms/v3/_show_options.html.erb +0 -0
  118. data/app/views/pager_tree/integrations/typeform/v3/_form_options.html.erb +0 -0
  119. data/app/views/pager_tree/integrations/typeform/v3/_show_options.html.erb +0 -0
  120. data/app/views/pager_tree/integrations/uptime/v3/_form_options.html.erb +0 -0
  121. data/app/views/pager_tree/integrations/uptime/v3/_show_options.html.erb +0 -0
  122. data/app/views/pager_tree/integrations/uptime_robot/v3/_form_options.html.erb +0 -0
  123. data/app/views/pager_tree/integrations/uptime_robot/v3/_show_options.html.erb +0 -0
  124. data/app/views/pager_tree/integrations/webhook/v3/_form_options.html.erb +15 -0
  125. data/app/views/pager_tree/integrations/webhook/v3/_show_options.html.erb +26 -0
  126. data/app/views/pager_tree/integrations/zendesk/v3/_form_options.html.erb +0 -0
  127. data/app/views/pager_tree/integrations/zendesk/v3/_show_options.html.erb +0 -0
  128. data/config/locales/en.yml +83 -23
  129. data/lib/generators/integration/integration_generator.rb +2 -1
  130. data/lib/generators/integration/templates/model.rb.tt +16 -6
  131. data/lib/pager_tree/integrations/version.rb +1 -1
  132. metadata +121 -3
@@ -0,0 +1,7 @@
1
+ <div class="grid grid-cols-1 gap-4">
2
+ <div class="form-group">
3
+ <%= form.label :option_token %>
4
+ <%= form.text_field :option_token, class: "form-control" %>
5
+ <p class="form-hint"><%== t(".option_token_hint_html") %></p>
6
+ </div>
7
+ </div>
@@ -0,0 +1,12 @@
1
+ <div class="sm:col-span-2">
2
+ <dt class="text-sm font-medium text-gray-500">
3
+ <%= t("activerecord.attributes.pager_tree/integrations/honeybadger/v3.option_token") %>
4
+ </dt>
5
+ <dd class="mt-1 text-sm text-gray-900">
6
+ <div class="flex items-center gap-2">
7
+ <p class="text-sm truncate">
8
+ <%= mask integration.option_token %>
9
+ </p>
10
+ </div>
11
+ </dd>
12
+ </div>
@@ -0,0 +1,7 @@
1
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
2
+ <div class="form-group">
3
+ <%= form.check_box :option_issue_updated, class: "form-checkbox mr-1" %>
4
+ <%= form.label :option_issue_updated, class: "inline-block" %>
5
+ <p class="form-hint"><%== t(".option_issue_updated_hint_html") %></p>
6
+ </div>
7
+ </div>
@@ -0,0 +1,12 @@
1
+ <div class="sm:col-span-2">
2
+ <dt class="text-sm font-medium text-gray-500">
3
+ <%= t("activerecord.attributes.pager_tree/integrations/jira_server/v3.option_issue_updated") %>
4
+ </dt>
5
+ <dd class="mt-1 text-sm text-gray-900">
6
+ <div class="flex items-center gap-2">
7
+ <p class="text-sm truncate">
8
+ <%= render partial: "shared/components/badge_enabled", locals: { enabled: integration.option_issue_updated } %>
9
+ </p>
10
+ </div>
11
+ </dd>
12
+ </div>
@@ -0,0 +1,7 @@
1
+ <div class="grid grid-cols-1 gap-4">
2
+ <div class="form-group">
3
+ <%= form.label :option_token %>
4
+ <%= form.text_field :option_token, class: "form-control" %>
5
+ <p class="form-hint"><%== t(".option_token_hint_html") %></p>
6
+ </div>
7
+ </div>
@@ -0,0 +1,12 @@
1
+ <div class="sm:col-span-2">
2
+ <dt class="text-sm font-medium text-gray-500">
3
+ <%= t("activerecord.attributes.pager_tree/integrations/mattermost/outgoing_webhook/v3.option_token") %>
4
+ </dt>
5
+ <dd class="mt-1 text-sm text-gray-900">
6
+ <div class="flex items-center gap-2">
7
+ <p class="text-sm truncate">
8
+ <%= mask integration.option_token %>
9
+ </p>
10
+ </div>
11
+ </dd>
12
+ </div>
@@ -32,9 +32,9 @@
32
32
  %>
33
33
  <% opts.each do |opt| %>
34
34
  <div class="form-group">
35
- <%= form.label "option_#{opt.to_s}".to_sym %>
36
- <%= form.check_box "option_#{opt.to_s}".to_sym, class: "form-checkbox" %>
37
- <p class="form-hint"><%== t(".option_#{opt.to_s}_hint_html") %></p>
35
+ <%= form.check_box "option_#{opt.to_s}".to_sym, class: "form-checkbox mr-1" %>
36
+ <%= form.label "option_#{opt.to_s}".to_sym, class: "inline-block" %>
37
+ <p class="form-hint"><%== t("pager_tree.integrations.common.option_#{opt.to_s}_hint_html") %></p>
38
38
  </div>
39
39
  <% end %>
40
40
 
@@ -47,4 +47,12 @@
47
47
  <%= tag.div class: "h-96", data: {code_editor_target: "editor"} do %><%= form.object.option_template %><% end %>
48
48
  <p class="form-hint"><%== t(".option_template_hint_html") %></p>
49
49
  <% end %>
50
- </div>
50
+
51
+ <%= tag.div class: "form-group", data: {controller: "code-editor", code_editor_language_value: "yaml", code_editor_read_only_value: false } do %>
52
+ <%= form.label :option_outgoing_rules, t("pager_tree.integrations.common.option_outgoing_rules") %>
53
+ <%= form.hidden_field :option_outgoing_rules, class: "form-control", data: {code_editor_target: "form"} %>
54
+ <%= tag.div class: "h-96", data: {code_editor_target: "editor"} do %><%= form.object.option_outgoing_rules %><% end %>
55
+ <p class="form-hint"><%== t("pager_tree.integrations.common.option_outgoing_rules_hint_html") %></p>
56
+ <% end %>
57
+ </div>
58
+
@@ -52,10 +52,28 @@
52
52
  <% opts.each do |opt| %>
53
53
  <div class="sm:col-span-1">
54
54
  <dt class="text-sm font-medium text-gray-500">
55
- <%= t("activerecord.attributes.pager_tree/integrations/outgoing_webhook/v3.option_#{opt.to_s}") %>
55
+ <%= t("activerecord.attributes.pager_tree/integrations/integration.option_#{opt.to_s}") %>
56
56
  </dt>
57
57
  <dd class="mt-1 text-sm text-gray-900">
58
58
  <%= render partial: "shared/components/badge_enabled", locals: { enabled: integration.send("option_#{opt.to_s}") } %>
59
59
  </dd>
60
60
  </div>
61
- <% end %>
61
+ <% end %>
62
+
63
+ <div class="sm:col-span-1">
64
+ <dt class="text-sm font-medium text-gray-500">
65
+ <%= t("activerecord.attributes.pager_tree/integrations/outgoing_webhook/v3.option_template") %>
66
+ </dt>
67
+ <dd class="mt-1 text-sm text-gray-900">
68
+ <%= render partial: "shared/components/badge_enabled", locals: { enabled: integration.option_template.present? } %>
69
+ </dd>
70
+ </div>
71
+
72
+ <div class="sm:col-span-1">
73
+ <dt class="text-sm font-medium text-gray-500">
74
+ <%= t("pager_tree.integrations.common.option_outgoing_rules") %>
75
+ </dt>
76
+ <dd class="mt-1 text-sm text-gray-900">
77
+ <%= render partial: "shared/components/badge_enabled", locals: { enabled: integration.option_outgoing_rules.present? } %>
78
+ </dd>
79
+ </div>
@@ -0,0 +1,7 @@
1
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
2
+ <div class="form-group">
3
+ <%= form.check_box :option_resolve_warn, class: "form-checkbox mr-1" %>
4
+ <%= form.label :option_resolve_warn, class: "inline-block" %>
5
+ <p class="form-hint"><%== t(".option_resolve_warn_hint_html") %></p>
6
+ </div>
7
+ </div>
@@ -0,0 +1,12 @@
1
+ <div class="sm:col-span-2">
2
+ <dt class="text-sm font-medium text-gray-500">
3
+ <%= t("activerecord.attributes.pager_tree/integrations/server_guard24/v3.option_resolve_warn") %>
4
+ </dt>
5
+ <dd class="mt-1 text-sm text-gray-900">
6
+ <div class="flex items-center gap-2">
7
+ <p class="text-sm truncate">
8
+ <%= render partial: "shared/components/badge_enabled", locals: { enabled: integration.option_resolve_warn } %>
9
+ </p>
10
+ </div>
11
+ </dd>
12
+ </div>
@@ -0,0 +1,15 @@
1
+ <div class="grid grid-cols-1 gap-4">
2
+ <div class="form-group">
3
+ <%= form.label :option_token %>
4
+ <%= form.text_field :option_token, class: "form-control" %>
5
+ <p class="form-hint"><%== t(".option_token_hint_html") %></p>
6
+ </div>
7
+ </div>
8
+
9
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
10
+ <div class="form-group">
11
+ <%= form.check_box :option_capture_additional_data, class: "form-checkbox mr-1" %>
12
+ <%= form.label :option_capture_additional_data, class: "inline-block" %>
13
+ <p class="form-hint"><%== t(".option_capture_additional_data_hint_html") %></p>
14
+ </div>
15
+ </div>
@@ -0,0 +1,26 @@
1
+ <div class="sm:col-span-2">
2
+ <dt class="text-sm font-medium text-gray-500">
3
+ <%= t("activerecord.attributes.pager_tree/integrations/webhook/v3.option_token") %>
4
+ </dt>
5
+ <dd class="mt-1 text-sm text-gray-900">
6
+ <div class="flex items-center gap-2">
7
+ <p class="text-sm truncate">
8
+ <%= mask integration.option_token %>
9
+ </p>
10
+ </div>
11
+ </dd>
12
+ </div>
13
+
14
+
15
+ <div class="sm:col-span-1">
16
+ <dt class="text-sm font-medium text-gray-500">
17
+ <%= t("activerecord.attributes.pager_tree/integrations/webhook/v3.option_capture_additional_data") %>
18
+ </dt>
19
+ <dd class="mt-1 text-sm text-gray-900">
20
+ <div class="flex items-center gap-2">
21
+ <p class="text-sm truncate">
22
+ <%= render partial: "shared/components/badge_enabled", locals: { enabled: integration.option_capture_additional_data } %>
23
+ </p>
24
+ </div>
25
+ </dd>
26
+ </div>
@@ -4,14 +4,45 @@ en:
4
4
  common:
5
5
  default: "default"
6
6
  none: "none"
7
- apex_ping:
8
- v3:
9
- form_options:
7
+ option_outgoing_rules: "Outgoing Rules"
8
+ option_outgoing_rules_hint_html: Outgoing Rules <a href='https://pagertree.com/knowledge-base/outgoing-webhooks/#rules' target='_blank'>(see docs)</a> for details.
9
+ option_incoming_webhook_url_hint_html: "URL to POST to"
10
+ option_alert_created_hint_html: "Send when the alert is created (before its routed)"
11
+ option_alert_open_hint_html: "Send when the alert is marked open (it has been routed)"
12
+ option_alert_acknowledged_hint_html: "Send when a user has acknowledged the alert"
13
+ option_alert_rejected_hint_html: "Send when a user has rejected the alert"
14
+ option_alert_timeout_hint_html: "Send when the alert has timed out a layer"
15
+ option_alert_resolved_hint_html: "Send when the alert is marked resolved"
16
+ option_alert_dropped_hint_html: "Send when the alert is dropped"
17
+ option_alert_handoff_hint_html: "Send when the alert has been handed off"
18
+ option_template_hint_html: "A handlebars template describing the body that should be posted. See <a href='https://pagertree.com/knowledge-base/outgoing-webhooks/#custom-format' target='_blank'>docs</a> for details."
19
+ option_send_linked_hint_html: "Send linked data (source, source_log, user, team)"
10
20
  email:
11
21
  v3:
12
22
  form_options:
13
23
  option_allow_spam_hint_html: "Allow emails marked as SPAM to create alerts"
14
24
  option_dedup_threads_hint_html: "Ignore emails from same thread (ex: Prevents new alerts for replys on emails (aka: RE:RE:RE...))"
25
+ form:
26
+ v3:
27
+ form_options:
28
+ option_form_title_hint_html: "The form title (top of web browser bar)"
29
+ option_form_header_hint_html: "The form header (top of the page, in bold)"
30
+ option_form_instructions_hint_html: "Instructions for the user. Be clear and concise"
31
+ option_form_footer_text_hint_html: "The text in the footer (ex: Company Name)"
32
+ option_form_footer_link_hint_html: "URL the footer text should link to (ex: https://company.com)"
33
+ option_form_logo_hint_html: "A logo image to be used at the top of the form (ex: Company Logo)"
34
+ option_form_email_required_hint_html: "Should the email field be required to submit?"
35
+ option_form_phone_required_hint_html: "Should the phone field be required to submit?"
36
+ option_form_description_required_hint_html: "Should the description field be required to submit?"
37
+ option_form_urgency_required_hint_html: "Should the urgency field be required to submit?"
38
+ honeybadger:
39
+ v3:
40
+ form_options:
41
+ option_token_hint_html: "The Honeybadger-Token header can be used to authenticate requests from Honeybadger servers (optional)"
42
+ jira_server:
43
+ v3:
44
+ form_options:
45
+ option_issue_updated_hint_html: "Create alert on the jira:issue_updated event? (only one alert per unique issue)"
15
46
  live_call_routing:
16
47
  twilio:
17
48
  v3:
@@ -28,39 +59,36 @@ en:
28
59
  option_force_input_hint_html: "Force the caller to select a team (even if the integration only has one team)"
29
60
  option_record_hint_html: "Record a voicemail when no one acknowledges the call"
30
61
  option_record_emails_list_hint_html: "List of email addresses to notify when a voicemail has been recorded"
62
+ mattermost:
63
+ outgoing_webhook:
64
+ v3:
65
+ form_options:
66
+ option_token_hint_html: "The token can be used to authenticate requests from Mattermost servers (optional)"
31
67
  outgoing_webhook:
32
68
  v3:
33
69
  form_options:
34
70
  option_webhook_url_hint_html: "URL to POST to"
35
71
  option_username_hint_html: "Basic auth username (optional)"
36
72
  option_password_hint_html: "Basic auth password (optional)"
37
- option_alert_created_hint_html: "Send when the alert is created (before its routed)"
38
- option_alert_open_hint_html: "Send when the alert is marked open (it has been routed)"
39
- option_alert_acknowledged_hint_html: "Send when a user has acknowledged the alert"
40
- option_alert_rejected_hint_html: "Send when a user has rejected the alert"
41
- option_alert_timeout_hint_html: "Send when the alert has timed out a layer"
42
- option_alert_resolved_hint_html: "Send when the alert is marked resolved"
43
- option_alert_dropped_hint_html: "Send when the alert is dropped"
44
- option_alert_handoff_hint_html: "Send when the alert has been handed off"
45
73
  option_template_hint_html: "A handlebars template describing the body that should be posted. See <a href='https://pagertree.com/knowledge-base/outgoing-webhooks/#custom-format' target='_blank'>docs</a> for details."
46
- option_send_linked_hint_html: "Send linked data (source, source_log, user, team)"
74
+ server_guard24:
75
+ v3:
76
+ form_options:
77
+ option_resolve_warn_hint_html: "Resolve the alert when <code>'check_result' === 'WARNING'</code>"
78
+ webhook:
79
+ v3:
80
+ form_options:
81
+ option_token_hint_html: "The PagerTree-Token header can be used to authenticate requests (optional)"
82
+ option_capture_additional_data_hint_html: "Capture additional data from the webhook (optional)"
47
83
  # SCAFFOLD_INTEGRATION
48
84
 
49
85
 
50
86
  activerecord:
51
87
  attributes:
52
88
  "pager_tree/integrations/integration":
53
- option_title_template_enabled: "Title Template"
54
- option_description_template_enabled: "Description Template"
55
- "pager_tree/integrations/apex_ping/v3":
56
- option_api_key: "API Key"
57
- "pager_tree/integrations/email/v3":
58
- option_allow_spam: "Allow Spam"
59
- option_dedup_threads: "Dedup Threads"
60
- "pager_tree/integrations/outgoing_webhook/v3":
61
- option_webhook_url: "URL"
62
- option_username: "Username"
63
- option_password: "Password"
89
+ option_title_template_enabled: "Title Template"
90
+ option_description_template_enabled: "Description Template"
91
+ option_incoming_webhook_url: "URL"
64
92
  option_alert_created: "alert.created"
65
93
  option_alert_open: "alert.open"
66
94
  option_alert_acknowledged: "alert.acknowledged"
@@ -69,6 +97,33 @@ en:
69
97
  option_alert_resolved: "alert.resolved"
70
98
  option_alert_dropped: "alert.dropped"
71
99
  option_alert_handoff: "alert.handoff"
100
+ option_outgoing_rules: "Outgoing Rules"
101
+ "pager_tree/integrations/apex_ping/v3":
102
+ option_api_key: "API Key"
103
+ "pager_tree/integrations/email/v3":
104
+ option_allow_spam: "Allow Spam"
105
+ option_dedup_threads: "Dedup Threads"
106
+ "pager_tree/integrations/form/v3":
107
+ option_form_title: "Form Title"
108
+ option_form_header: "Form Header"
109
+ option_form_instructions: "Instructions"
110
+ option_form_footer_text: "Footer Text"
111
+ option_form_footer_link: "Footer URL"
112
+ option_form_logo: "Logo"
113
+ option_form_email_required: "Email Required?"
114
+ option_form_phone_required: "Phone Required?"
115
+ option_form_description_required: "Description Required?"
116
+ option_form_urgency_required: "Urgency Required?"
117
+ "pager_tree/integrations/honeybadger/v3":
118
+ option_token: "Honeybadger Token"
119
+ "pager_tree/integrations/jira_server/v3":
120
+ option_issue_updated: "Trigger on issue.updated event"
121
+ "pager_tree/integrations/mattermost/outgoing_webhook/v3":
122
+ option_token: "Mattermost Token"
123
+ "pager_tree/integrations/outgoing_webhook/v3":
124
+ option_webhook_url: "URL"
125
+ option_username: "Username"
126
+ option_password: "Password"
72
127
  option_template: "JSON Template"
73
128
  option_send_linked: "Send Linked"
74
129
  "pager_tree/integrations/live_call_routing/twilio/v3":
@@ -84,4 +139,9 @@ en:
84
139
  option_force_input: "Force Caller Input"
85
140
  option_record: "Voicemail"
86
141
  option_record_emails_list: "Voicemail Emails"
142
+ "pager_tree/integrations/server_guard24/v3":
143
+ option_resolve_warn: "Resolve on Warning"
144
+ "pager_tree/integrations/webhook/v3":
145
+ option_token: "PagerTree Token"
146
+ option_capture_additional_data: "Capture Additional Data"
87
147
  # SCAFFOLD_ACTIVE_RECORD
@@ -9,6 +9,7 @@ class IntegrationGenerator < Rails::Generators::NamedBase
9
9
  end
10
10
 
11
11
  def inject_locales
12
- puts "IMPORTANT: Ensure you add your translations to config/locales/en.yml"
12
+ puts "IMPORTANT (1): Ensure you add your translations to config/locales/en.yml"
13
+ puts "IMPORTANT (2): Ensure you add your test fixtures to test/fixtures/pager_tree/integration/integrations.yml"
13
14
  end
14
15
  end
@@ -2,16 +2,16 @@ module PagerTree::Integrations
2
2
  class <%= class_name %> < Integration
3
3
  # TODO: Add options that are relevant to your integration
4
4
  OPTIONS = [
5
- {key: :api_key, type: :string, default: nil},
5
+ # {key: :api_key, type: :string, default: nil},
6
6
  ]
7
7
  store_accessor :options, *OPTIONS.map { |x| x[:key] }.map(&:to_s), prefix: "option"
8
8
 
9
9
  # TODO - add some validations for your options
10
- validates :option_api_key, presence: true
10
+ # validates :option_api_key, presence: true
11
11
 
12
12
  # TODO - add defaults for your options
13
13
  after_initialize do
14
- self.option_api_key ||= nil
14
+ # self.option_api_key ||= nil
15
15
  end
16
16
 
17
17
  # TODO: Does this integration support incoming requests?
@@ -21,7 +21,7 @@ module PagerTree::Integrations
21
21
 
22
22
  # TODO: Does this integration support outgoing events?
23
23
  def adapter_supports_outgoing?
24
- true
24
+ false
25
25
  end
26
26
 
27
27
  # TODO: can requests from this integration be deferred? most integrations should be 'true'
@@ -43,8 +43,8 @@ module PagerTree::Integrations
43
43
  # TODO: Implement your transform
44
44
  def adapter_process_create
45
45
  Alert.new(
46
- title: adapter_incoming_request_params.dig("title"),
47
- urgency: adapter_incoming_request_params.dig("urgency"),
46
+ title: _title,
47
+ description: _description,
48
48
  thirdparty_id: adapter_thirdparty_id,
49
49
  dedup_keys: [adapter_thirdparty_id],
50
50
  additional_data: _additional_datums
@@ -53,6 +53,16 @@ module PagerTree::Integrations
53
53
 
54
54
  private
55
55
 
56
+ # TODO: Implement title
57
+ def _title
58
+ adapter_incoming_request_params.dig("title")
59
+ end
60
+
61
+ # TODO: Implement description
62
+ def _description
63
+ adapter_incoming_request_params.dig("description")
64
+ end
65
+
56
66
  # TODO: Implement any additional data that should be shown in the alert with high priority (be picky as to 'very important' information)
57
67
  def _additional_datums
58
68
  [
@@ -1,5 +1,5 @@
1
1
  module PagerTree
2
2
  module Integrations
3
- VERSION = "1.0.1"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end