A cookbook for a chef_handler that sends reports and exceptions to Slack using an integration webhook.
- The
chef_handlercookbook - An existing Slack incoming webhook
This cookbook uses the following attributes to configure how it is installed.
node['chef_client']['handler']['slack']['team']- Your Slack 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 resultsnode['chef_client']['handler']['slack']['username']- The username of the Slack messagenode['chef_client']['handler']['slack']['icon_url']- The Slack message iconnode['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,elapsedandresourcesnode['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.
- 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.
Borrowed everything from the logstash_handler cookbook here, who in turn borrowed quite a bit from the graphite_handler cookbook here.
slack_handler is provided under the Apache License 2.0. See LICENSE for details.