exception_notification 4.3.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +2 -2
  3. data/CHANGELOG.rdoc +14 -0
  4. data/CONTRIBUTING.md +18 -0
  5. data/Gemfile +1 -1
  6. data/README.md +64 -935
  7. data/Rakefile +2 -2
  8. data/docs/notifiers/campfire.md +50 -0
  9. data/docs/notifiers/custom.md +42 -0
  10. data/docs/notifiers/datadog.md +51 -0
  11. data/docs/notifiers/email.md +195 -0
  12. data/docs/notifiers/google_chat.md +31 -0
  13. data/docs/notifiers/hipchat.md +66 -0
  14. data/docs/notifiers/irc.md +97 -0
  15. data/docs/notifiers/mattermost.md +115 -0
  16. data/docs/notifiers/slack.md +161 -0
  17. data/docs/notifiers/sns.md +37 -0
  18. data/docs/notifiers/teams.md +54 -0
  19. data/docs/notifiers/webhook.md +60 -0
  20. data/examples/sample_app.rb +54 -0
  21. data/examples/sinatra/Gemfile +6 -6
  22. data/examples/sinatra/config.ru +1 -1
  23. data/examples/sinatra/sinatra_app.rb +14 -10
  24. data/exception_notification.gemspec +27 -22
  25. data/gemfiles/rails4_0.gemfile +3 -3
  26. data/gemfiles/rails4_1.gemfile +3 -3
  27. data/gemfiles/rails4_2.gemfile +3 -3
  28. data/gemfiles/rails5_0.gemfile +3 -3
  29. data/gemfiles/rails5_1.gemfile +3 -3
  30. data/gemfiles/rails5_2.gemfile +7 -0
  31. data/gemfiles/rails6_0.gemfile +7 -0
  32. data/lib/exception_notification.rb +1 -0
  33. data/lib/exception_notification/rack.rb +8 -21
  34. data/lib/exception_notification/resque.rb +8 -10
  35. data/lib/exception_notification/sidekiq.rb +8 -12
  36. data/lib/exception_notification/version.rb +3 -0
  37. data/lib/exception_notifier.rb +20 -3
  38. data/lib/exception_notifier/base_notifier.rb +2 -3
  39. data/lib/exception_notifier/campfire_notifier.rb +12 -13
  40. data/lib/exception_notifier/datadog_notifier.rb +153 -0
  41. data/lib/exception_notifier/email_notifier.rb +64 -87
  42. data/lib/exception_notifier/google_chat_notifier.rb +25 -119
  43. data/lib/exception_notifier/hipchat_notifier.rb +11 -12
  44. data/lib/exception_notifier/irc_notifier.rb +32 -30
  45. data/lib/exception_notifier/mattermost_notifier.rb +47 -140
  46. data/lib/exception_notifier/modules/backtrace_cleaner.rb +0 -2
  47. data/lib/exception_notifier/modules/error_grouping.rb +5 -5
  48. data/lib/exception_notifier/modules/formatter.rb +118 -0
  49. data/lib/exception_notifier/notifier.rb +5 -6
  50. data/lib/exception_notifier/slack_notifier.rb +63 -40
  51. data/lib/exception_notifier/sns_notifier.rb +17 -11
  52. data/lib/exception_notifier/teams_notifier.rb +58 -44
  53. data/lib/exception_notifier/views/exception_notifier/_backtrace.html.erb +1 -1
  54. data/lib/exception_notifier/views/exception_notifier/_environment.text.erb +1 -1
  55. data/lib/exception_notifier/views/exception_notifier/_request.text.erb +1 -1
  56. data/lib/exception_notifier/views/exception_notifier/exception_notification.html.erb +2 -2
  57. data/lib/exception_notifier/views/exception_notifier/exception_notification.text.erb +2 -2
  58. data/lib/exception_notifier/webhook_notifier.rb +14 -11
  59. data/lib/generators/exception_notification/install_generator.rb +5 -5
  60. data/lib/generators/exception_notification/templates/{exception_notification.rb → exception_notification.rb.erb} +13 -11
  61. data/test/exception_notification/rack_test.rb +27 -11
  62. data/test/exception_notification/resque_test.rb +52 -0
  63. data/test/exception_notifier/campfire_notifier_test.rb +42 -42
  64. data/test/exception_notifier/datadog_notifier_test.rb +151 -0
  65. data/test/exception_notifier/email_notifier_test.rb +269 -153
  66. data/test/exception_notifier/google_chat_notifier_test.rb +154 -101
  67. data/test/exception_notifier/hipchat_notifier_test.rb +78 -81
  68. data/test/exception_notifier/irc_notifier_test.rb +34 -34
  69. data/test/exception_notifier/mattermost_notifier_test.rb +164 -67
  70. data/test/exception_notifier/modules/error_grouping_test.rb +39 -40
  71. data/test/exception_notifier/modules/formatter_test.rb +150 -0
  72. data/test/exception_notifier/sidekiq_test.rb +6 -6
  73. data/test/exception_notifier/slack_notifier_test.rb +61 -60
  74. data/test/exception_notifier/sns_notifier_test.rb +27 -32
  75. data/test/exception_notifier/teams_notifier_test.rb +23 -26
  76. data/test/exception_notifier/webhook_notifier_test.rb +48 -46
  77. data/test/exception_notifier_test.rb +41 -38
  78. data/test/{dummy/app → support}/views/exception_notifier/_new_bkg_section.html.erb +0 -0
  79. data/test/{dummy/app → support}/views/exception_notifier/_new_bkg_section.text.erb +0 -0
  80. data/test/{dummy/app → support}/views/exception_notifier/_new_section.html.erb +0 -0
  81. data/test/{dummy/app → support}/views/exception_notifier/_new_section.text.erb +0 -0
  82. data/test/test_helper.rb +11 -14
  83. metadata +136 -166
  84. data/test/dummy/.gitignore +0 -4
  85. data/test/dummy/Rakefile +0 -7
  86. data/test/dummy/app/controllers/application_controller.rb +0 -3
  87. data/test/dummy/app/controllers/posts_controller.rb +0 -30
  88. data/test/dummy/app/helpers/application_helper.rb +0 -2
  89. data/test/dummy/app/helpers/posts_helper.rb +0 -2
  90. data/test/dummy/app/models/post.rb +0 -2
  91. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  92. data/test/dummy/app/views/posts/_form.html.erb +0 -0
  93. data/test/dummy/app/views/posts/new.html.erb +0 -0
  94. data/test/dummy/app/views/posts/show.html.erb +0 -0
  95. data/test/dummy/config.ru +0 -4
  96. data/test/dummy/config/application.rb +0 -42
  97. data/test/dummy/config/boot.rb +0 -6
  98. data/test/dummy/config/database.yml +0 -22
  99. data/test/dummy/config/environment.rb +0 -17
  100. data/test/dummy/config/environments/development.rb +0 -25
  101. data/test/dummy/config/environments/production.rb +0 -50
  102. data/test/dummy/config/environments/test.rb +0 -35
  103. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  104. data/test/dummy/config/initializers/inflections.rb +0 -10
  105. data/test/dummy/config/initializers/mime_types.rb +0 -5
  106. data/test/dummy/config/initializers/secret_token.rb +0 -8
  107. data/test/dummy/config/initializers/session_store.rb +0 -8
  108. data/test/dummy/config/locales/en.yml +0 -5
  109. data/test/dummy/config/routes.rb +0 -3
  110. data/test/dummy/db/migrate/20110729022608_create_posts.rb +0 -15
  111. data/test/dummy/db/schema.rb +0 -24
  112. data/test/dummy/db/seeds.rb +0 -7
  113. data/test/dummy/lib/tasks/.gitkeep +0 -0
  114. data/test/dummy/public/404.html +0 -26
  115. data/test/dummy/public/422.html +0 -26
  116. data/test/dummy/public/500.html +0 -26
  117. data/test/dummy/public/favicon.ico +0 -0
  118. data/test/dummy/public/images/rails.png +0 -0
  119. data/test/dummy/public/index.html +0 -239
  120. data/test/dummy/public/javascripts/application.js +0 -2
  121. data/test/dummy/public/javascripts/controls.js +0 -965
  122. data/test/dummy/public/javascripts/dragdrop.js +0 -974
  123. data/test/dummy/public/javascripts/effects.js +0 -1123
  124. data/test/dummy/public/javascripts/prototype.js +0 -6001
  125. data/test/dummy/public/javascripts/rails.js +0 -191
  126. data/test/dummy/public/robots.txt +0 -5
  127. data/test/dummy/public/stylesheets/.gitkeep +0 -0
  128. data/test/dummy/public/stylesheets/scaffold.css +0 -56
  129. data/test/dummy/script/rails +0 -6
  130. data/test/dummy/test/functional/posts_controller_test.rb +0 -237
  131. data/test/dummy/test/test_helper.rb +0 -7
@@ -0,0 +1,97 @@
1
+ ### IRC notifier
2
+
3
+ This notifier sends notifications to an IRC channel using the carrier-pigeon gem.
4
+
5
+ #### Usage
6
+
7
+ Just add the [carrier-pigeon](https://github.com/portertech/carrier-pigeon) gem to your `Gemfile`:
8
+
9
+ ```ruby
10
+ gem 'carrier-pigeon'
11
+ ```
12
+
13
+ To configure it, you need to set at least the 'domain' option, like this:
14
+
15
+ ```ruby
16
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
17
+ email: {
18
+ email_prefix: '[PREFIX] ',
19
+ sender_address: %{"notifier" <notifier@example.com>},
20
+ exception_recipients: %w{exceptions@example.com}
21
+ },
22
+ irc: {
23
+ domain: 'irc.example.com'
24
+ }
25
+ ```
26
+
27
+ There are several other options, which are described below. For example, to use ssl and a password, add a prefix, post to the '#log' channel, and include recipients in the message (so that they will be notified), your configuration might look like this:
28
+
29
+ ```ruby
30
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
31
+ irc: {
32
+ domain: 'irc.example.com',
33
+ nick: 'BadNewsBot',
34
+ password: 'secret',
35
+ port: 6697,
36
+ channel: '#log',
37
+ ssl: true,
38
+ prefix: '[Exception Notification]',
39
+ recipients: ['peter', 'michael', 'samir']
40
+ }
41
+ ```
42
+
43
+ #### Options
44
+
45
+ ##### domain
46
+
47
+ *String, required*
48
+
49
+ The domain name of your IRC server.
50
+
51
+ ##### nick
52
+
53
+ *String, optional*
54
+
55
+ The message will appear from this nick. Default : 'ExceptionNotifierBot'.
56
+
57
+ ##### password
58
+
59
+ *String, optional*
60
+
61
+ Password for your IRC server.
62
+
63
+ ##### port
64
+
65
+ *String, optional*
66
+
67
+ Port your IRC server is listening on. Default : 6667.
68
+
69
+ ##### channel
70
+
71
+ *String, optional*
72
+
73
+ Message will appear in this channel. Default : '#log'.
74
+
75
+ ##### notice
76
+
77
+ *Boolean, optional*
78
+
79
+ Send a notice. Default : false.
80
+
81
+ ##### ssl
82
+
83
+ *Boolean, optional*
84
+
85
+ Whether to use SSL. Default : false.
86
+
87
+ ##### join
88
+
89
+ *Boolean, optional*
90
+
91
+ Join a channel. Default : false.
92
+
93
+ ##### recipients
94
+
95
+ *Array of strings, optional*
96
+
97
+ Nicks to include in the message. Default: []
@@ -0,0 +1,115 @@
1
+ ### Mattermost notifier
2
+
3
+ Post notification in a mattermost channel via [incoming webhook](http://docs.mattermost.com/developer/webhooks-incoming.html)
4
+
5
+ Just add the [HTTParty](https://github.com/jnunemaker/httparty) gem to your `Gemfile`:
6
+
7
+ ```ruby
8
+ gem 'httparty'
9
+ ```
10
+
11
+ To configure it, you **need** to set the `webhook_url` option.
12
+ You can also specify an other channel with `channel` option.
13
+
14
+ ```ruby
15
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
16
+ email: {
17
+ email_prefix: '[PREFIX] ',
18
+ sender_address: %{"notifier" <notifier@example.com>},
19
+ exception_recipients: %w{exceptions@example.com}
20
+ },
21
+ mattermost: {
22
+ webhook_url: 'http://your-mattermost.com/hooks/blablabla',
23
+ channel: 'my-channel'
24
+ }
25
+ ```
26
+
27
+ If you are using Github or Gitlab for issues tracking, you can specify `git_url` as follow to add a *Create issue* link in you notification.
28
+ By default this will use your Rails application name to match the git repository. If yours differ you can specify `app_name`.
29
+
30
+
31
+ ```ruby
32
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
33
+ email: {
34
+ email_prefix: '[PREFIX] ',
35
+ sender_address: %{"notifier" <notifier@example.com>},
36
+ exception_recipients: %w{exceptions@example.com}
37
+ },
38
+ mattermost: {
39
+ webhook_url: 'http://your-mattermost.com/hooks/blablabla',
40
+ git_url: 'github.com/aschen'
41
+ }
42
+ ```
43
+
44
+ You can also specify the bot name and avatar with `username` and `avatar` options.
45
+
46
+ ```ruby
47
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
48
+ email: {
49
+ email_prefix: 'PREFIX] ',
50
+ sender_address: %{"notifier" <notifier@example.com>},
51
+ exception_recipients: %w{exceptions@example.com}
52
+ },
53
+ mattermost: {
54
+ webhook_url: 'http://your-mattermost.com/hooks/blablabla',
55
+ avatar: 'http://example.com/your-image.png',
56
+ username: 'Fail bot'
57
+ }
58
+ ```
59
+
60
+ Finally since the notifier use HTTParty, you can include all HTTParty options, like basic_auth for example.
61
+
62
+ ```ruby
63
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
64
+ email: {
65
+ email_prefix: '[PREFIX] ',
66
+ sender_address: %{"notifier" <notifier@example.com>},
67
+ exception_recipients: %w{exceptions@example.com}
68
+ },
69
+ mattermost: {
70
+ webhook_url: 'http://your-mattermost.com/hooks/blablabla',
71
+ basic_auth: {
72
+ username: 'clara',
73
+ password: 'password'
74
+ }
75
+ }
76
+ ```
77
+
78
+ #### Options
79
+
80
+ ##### webhook_url
81
+
82
+ *String, required*
83
+
84
+ The Incoming WebHook URL on mattermost.
85
+
86
+ ##### channel
87
+
88
+ *String, optional*
89
+
90
+ Message will appear in this channel. Defaults to the channel you set as such on mattermost.
91
+
92
+ ##### username
93
+
94
+ *String, optional*
95
+
96
+ Username of the bot. Defaults to "Incoming Webhook"
97
+
98
+ ##### avatar
99
+
100
+ *String, optional*
101
+
102
+ Avatar of the bot. Defaults to incoming webhook icon.
103
+
104
+ ##### git_url
105
+
106
+ *String, optional*
107
+
108
+ Url of your gitlab or github with your organisation name for issue creation link (Eg: `github.com/aschen`). Defaults to nil and don't add link to the notification.
109
+
110
+ ##### app_name
111
+
112
+ *String, optional*
113
+
114
+ Your application name used for issue creation link. Defaults to `Rails.application.class.module_parent_name.underscore` for Rails versions >= 6;
115
+ `Rails.application.class.parent_name.underscore` otherwise.
@@ -0,0 +1,161 @@
1
+ ### Slack notifier
2
+
3
+ This notifier sends notifications to a slack channel using the slack-notifier gem.
4
+
5
+ #### Usage
6
+
7
+ Just add the [slack-notifier](https://github.com/stevenosloan/slack-notifier) gem to your `Gemfile`:
8
+
9
+ ```ruby
10
+ gem 'slack-notifier'
11
+ ```
12
+
13
+ To configure it, you need to set at least the 'webhook_url' option, like this:
14
+
15
+ ```ruby
16
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
17
+ email: {
18
+ email_prefix: '[PREFIX] ',
19
+ sender_address: %{"notifier" <notifier@example.com>},
20
+ exception_recipients: %w{exceptions@example.com}
21
+ },
22
+ slack: {
23
+ webhook_url: '[Your webhook url]',
24
+ channel: '#exceptions',
25
+ additional_parameters: {
26
+ icon_url: 'http://image.jpg',
27
+ mrkdwn: true
28
+ }
29
+ }
30
+ ```
31
+
32
+ The slack notification will include any data saved under `env['exception_notifier.exception_data']`.
33
+
34
+ An example of how to send the server name to Slack in Rails (put this code in application_controller.rb):
35
+
36
+ ```ruby
37
+ before_action :set_notification
38
+
39
+ def set_notification
40
+ request.env['exception_notifier.exception_data'] = { 'server' => request.env['SERVER_NAME'] }
41
+ # can be any key-value pairs
42
+ end
43
+ ```
44
+
45
+ If you find this too verbose, you can determine to exclude certain information by doing the following:
46
+
47
+ ```ruby
48
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
49
+ slack: {
50
+ webhook_url: '[Your webhook url]',
51
+ channel: '#exceptions',
52
+ additional_parameters: {
53
+ icon_url: 'http://image.jpg',
54
+ mrkdwn: true
55
+ },
56
+ ignore_data_if: lambda {|key, value|
57
+ "#{key}" == 'key_to_ignore' || value.is_a?(ClassToBeIgnored)
58
+ }
59
+ }
60
+ ```
61
+
62
+ Any evaluation to `true` will cause the key / value pair not be be sent along to Slack.
63
+
64
+
65
+ the `slack-notifier` gem allows to override the channel default value, if you ever
66
+ need to send a notification to a different slack channel. Simply add the
67
+ `channel` option when calling `.notify_exception`
68
+
69
+ ```ruby
70
+ ExceptionNotifier.notify_exception(
71
+ exception,
72
+ env: request.env,
73
+ channel: '#my-custom-channel', # Make sure the channel name starts with `#`
74
+ data: {
75
+ error: error_variable,
76
+ server: server_name
77
+ }
78
+ )
79
+ ```
80
+
81
+ If you ever need to add more `slack-notifier` specific options, and
82
+ particularly to the `#ping` method of the slack notifier, you can use
83
+ the `pre_callback` option when defining the middleware.
84
+ ```ruby
85
+ pre_callback: proc { |opts, _notifier, _backtrace, _message, message_opts|
86
+ message_opts[:channel] = opts[:channel] if opts.key?(:channel)
87
+ }
88
+
89
+ ```
90
+ - `message_opts` is the hash you want to append to if you need to add an option.
91
+ - `options` is the hash containing the values when you call
92
+ `ExceptionNotification.notify_exception`
93
+
94
+ An example implementation would be:
95
+ ```ruby
96
+ config.middleware.use ExceptionNotification::Rack,
97
+ slack: {
98
+ webhook_url: '[Your webhook url]',
99
+ pre_callback: proc { |opts, _notifier, _backtrace, _message, message_opts|
100
+ message_opts[:ping_option] = opts[:ping_option] if
101
+ opts.key?(:ping_option)
102
+ }
103
+ },
104
+ error_grouping: true
105
+ ```
106
+ Then when calling from within your application code:
107
+ ```ruby
108
+ ExceptionNotifier.notify_exception(
109
+ exception,
110
+ env: request.env,
111
+ ping_option: 'value',
112
+ # this will be passed to the slack notifier's `#ping`
113
+ # method, as a parameter. The `:pre_callback` hook will catch it
114
+ # and do that for you.
115
+ # Helpful, if the API evolves, you only need to update
116
+ # the `slack-notifier` gem
117
+ data: {
118
+ error: error_variable,
119
+ server: server_name
120
+ }
121
+ )
122
+
123
+ ```
124
+ #### Options
125
+
126
+ ##### webhook_url
127
+
128
+ *String, required*
129
+
130
+ The Incoming WebHook URL on slack.
131
+
132
+ ##### channel
133
+
134
+ *String, optional*
135
+
136
+ Message will appear in this channel. Defaults to the channel you set as such on slack.
137
+
138
+ ##### username
139
+
140
+ *String, optional*
141
+
142
+ Username of the bot. Defaults to the name you set as such on slack
143
+
144
+ ##### custom_hook
145
+
146
+ *String, optional*
147
+
148
+ Custom hook name. See [slack-notifier](https://github.com/stevenosloan/slack-notifier#custom-hook-name) for
149
+ more information. Default: 'incoming-webhook'
150
+
151
+ ##### additional_parameters
152
+
153
+ *Hash of strings, optional*
154
+
155
+ Contains additional payload for a message (e.g avatar, attachments, etc). See [slack-notifier](https://github.com/stevenosloan/slack-notifier#additional-parameters) for more information.. Default: '{}'
156
+
157
+ ##### additional_fields
158
+
159
+ *Array of Hashes, optional*
160
+
161
+ Contains additional fields that will be added to the attachement. See [Slack documentation](https://api.slack.com/docs/message-attachments).
@@ -0,0 +1,37 @@
1
+ ### Amazon SNS Notifier
2
+
3
+ Notify all exceptions Amazon - Simple Notification Service: [SNS](https://aws.amazon.com/sns/).
4
+
5
+ #### Usage
6
+
7
+ Add the [aws-sdk-sns](https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-sns) gem to your `Gemfile`:
8
+
9
+ ```ruby
10
+ gem 'aws-sdk-sns', '~> 1.5'
11
+ ```
12
+
13
+ To configure it, you **need** to set 3 required options for aws: `region`, `access_key_id` and `secret_access_key`, and one more option for sns: `topic_arn`.
14
+
15
+ ```ruby
16
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
17
+ sns: {
18
+ region: 'us-east-x',
19
+ access_key_id: 'access_key_id',
20
+ secret_access_key: 'secret_access_key',
21
+ topic_arn: 'arn:aws:sns:us-east-x:XXXX:my-topic'
22
+ }
23
+ ```
24
+
25
+ ##### sns_prefix
26
+ *String, optional *
27
+
28
+ Prefix in the notification subject, by default: "[Error]"
29
+
30
+ ##### backtrace_lines
31
+ *Integer, optional *
32
+
33
+ Number of backtrace lines to be displayed in the notification message. By default: 10
34
+
35
+ #### Note:
36
+ * You may need to update your previous `aws-sdk-*` gems in order to setup `aws-sdk-sns` correctly.
37
+ * If you need any further information about the available regions or any other SNS related topic consider: [SNS faqs](https://aws.amazon.com/sns/faqs/)
@@ -0,0 +1,54 @@
1
+ ### Teams notifier
2
+
3
+ Post notification in a Microsoft Teams channel via [Incoming Webhook Connector](https://docs.microsoft.com/en-us/outlook/actionable-messages/actionable-messages-via-connectors)
4
+ Just add the [HTTParty](https://github.com/jnunemaker/httparty) gem to your `Gemfile`:
5
+
6
+ ```ruby
7
+ gem 'httparty'
8
+ ```
9
+
10
+ To configure it, you **need** to set the `webhook_url` option.
11
+ If you are using GitLab for issue tracking, you can specify `git_url` as follows to add a *Create issue* button in your notification.
12
+ By default this will use your Rails application name to match the git repository. If yours differs, you can specify `app_name`.
13
+ By that same notion, you may also set a `jira_url` to get a button that will send you to the New Issue screen in Jira.
14
+
15
+ ```ruby
16
+ Rails.application.config.middleware.use ExceptionNotification::Rack,
17
+ email: {
18
+ email_prefix: "[PREFIX] ",
19
+ sender_address: %{"notifier" <notifier@example.com>},
20
+ exception_recipients: %w{exceptions@example.com}
21
+ },
22
+ teams: {
23
+ webhook_url: 'https://outlook.office.com/webhook/your-guid/IncomingWebhook/team-guid',
24
+ git_url: 'https://your-gitlab.com/Group/Project',
25
+ jira_url: 'https://your-jira.com'
26
+ }
27
+ ```
28
+
29
+ #### Options
30
+
31
+ ##### webhook_url
32
+
33
+ *String, required*
34
+
35
+ The Incoming WebHook URL on Teams.
36
+
37
+ ##### git_url
38
+
39
+ *String, optional*
40
+
41
+ Url of your gitlab or github with your organisation name for issue creation link (Eg: `github.com/aschen`). Defaults to nil and doesn't add link to the notification.
42
+
43
+ ##### jira_url
44
+
45
+ *String, optional*
46
+
47
+ Url of your Jira instance, adds button for Create Issue screen. Defaults to nil and doesn't add a button to the card.
48
+
49
+ ##### app_name
50
+
51
+ *String, optional*
52
+
53
+ Your application name used for git issue creation link. Defaults to `Rails.application.class.module_parent_name.underscore` for Rails versions >= 6;
54
+ `Rails.application.class.parent_name.underscore` otherwise.