var https = require('https'); var util = require('util'); exports.handler = function(event, context) { console.log(JSON.stringify(event, null, 2)); console.log('From SNS:', event.Records[0].Sns.Message); var postData = { "channel": "#aws-sns", "username": "AWS SNS via Lamda :: DevQa Cloud", "text": "*" + event.Records[0].Sns.Subject + "*", "icon_emoji": ":aws:" }; var message = event.Records[0].Sns.Message; var butWithErrors = message.indexOf(" but with errors"); var stateRed = message.indexOf(" to RED"); var stateYellow = message.indexOf(" to YELLOW"); var noPermission = message.indexOf("You do not have permission"); var failedDeploy = message.indexOf("Failed to deploy application"); var color = "good"; if (stateRed != -1 || butWithErrors != -1 || noPermission != -1 || failedDeploy != -1) { color = "danger"; } if (stateYellow != -1) { color = "warning"; } postData.attachments = [ { "color": color, "text": message } ]; var options = { method: 'POST', hostname: 'hooks.slack.com', port: 443, path: '/services/your-slack-webhook-url-info-goes-here' }; var req = https.request(options) .on('error', function(e) { console.log('problem with request: ' + e.message); }) .on('end', function(e) { context.done(e); }); req.write(util.format("%j", postData)); req.end(); };