cookbook 'slack_handler', '= 0.3.0'
slack_handler (13) Versions 0.3.0 Follow15
Installs/Configures a Chef handler for reporting results to a Slack channel.
cookbook 'slack_handler', '= 0.3.0', :supermarket
knife supermarket install slack_handler
knife supermarket download slack_handler
Description
A cookbook for a chef_handler that sends reports and exceptions to Slack. There are two options for use:
1. Providing a team name and api_key (Uses the slackr gem)
2. Providing a hash containing incoming webhook url(s)
This cookbook was originally a fork of dcm-ops/chef-slack_handler. We have taken over maintenance of this cookbook and released it to Supermarket.
Requirements
- The
chef_handlercookbook - An existing Slack incoming webhook(s)
Usage 1
- Create a new Slack webhook (https://slack.com/services/new/incoming-webhook)
- Set the
teamandapi_keyattributes above on the node/environment/etc. - Include this
slack_handlerrecipe.
Usage 1 Attributes
-
node['chef_client']['handler']['slack']['team']- Your Slack team name (<team-name>.slack.com) -
node['chef_client']['handler']['slack']['api_key']- The API key of your Slack incoming webhook
Optional attributes
-
node['chef_client']['handler']['slack']['channel']- The #channel to send the results -
node['chef_client']['handler']['slack']['username']- The username of the Slack message -
node['chef_client']['handler']['slack']['icon_url']- The Slack message icon -
node['chef_client']['handler']['slack']['icon_emoji']- The Slack message icon defined by available:emoji: -
node['chef_client']['handler']['slack']['detail_level']- The level of detail in the message. Valid options arebasic,elapsedandresources -
node['chef_client']['handler']['slack']['fail_only']- Only report when runs fail as opposed to every single occurance
NOTE: Either icon_url or icon_emoji can be used. If both are set, icon_url will take precedence.
Usage 2
- Create a new Slack webhook (https://slack.com/services/new/incoming-webhook)
- Set the attributes as specified below
- Include this
slack_handlerrecipe.
Usage 2 Attributes
-
node['chef_client']['handler']['slack']['username'] = 'Chef Handler - 2963351-crowdcube_app'* node['chef_client']['handler']['slack']['webhooks']['name'].push('webhook1')node['chef_client']['handler']['slack']['webhooks']['webhook1']['url'] = 'https://hooks.slack.com/1/2/3'node['chef_client']['handler']['slack']['webhooks']['webhook1']['fail_only'] = truenode['chef_client']['handler']['slack']['webhooks']['webhook1']['detail_level'] = 'elapsed'node['chef_client']['handler']['slack']['webhooks']['name'].push('webhook2')node['chef_client']['handler']['slack']['webhooks']['webhook2']['url'] = 'https://hooks.slack.com/1/2/4'node['chef_client']['handler']['slack']['webhooks']['webhook2']['fail_only'] = falsenode['chef_client']['handler']['slack']['webhooks']['webhook2']['detail_level'] = 'resources'
NOTE: Either icon_url or icon_emoji can be used. If both are set, icon_url will take precedence.
Credits
Borrowed everything from the logstash_handler cookbook here, who in turn borrowed quite a bit from the graphite_handler cookbook here.
License
slack_handler is provided under the Apache License 2.0. See LICENSE for details.
Foodcritic Metric
0.3.0 passed this metric
0.3.0 passed this metric