Skip to content

Instantly share code, notes, and snippets.

@mangopudding
Created January 12, 2017 00:27
Show Gist options
  • Save mangopudding/f5f5b53de2223fdce2a3a04230ca1eca to your computer and use it in GitHub Desktop.
Save mangopudding/f5f5b53de2223fdce2a3a04230ca1eca to your computer and use it in GitHub Desktop.
AWS-Lambda Function To Trigger Notification To Slack Channel
# OVERVIEW
#
# AWS Lambda Function To Trigger A Notification Into Slack Channel.
#
from __future__ import print_function
import boto3
import json
import logging
import os
import datetime
from dateutil.tz import tzlocal
from urllib2 import Request, urlopen, URLError, HTTPError
HOOK_URL = "https://hooks.slack.com/services/XXXX/XXXX/XXXX"
logger = logging.getLogger()
logger.setLevel(logging.INFO)
now = datetime.datetime.now(tzlocal()) - datetime.timedelta(hours=8)
fmt1 = now.strftime('%A, %B %d, %Y - %H:%m')
logger.info('fmt1 = %s' % (fmt1))
def lambda_handler(event, context):
slack_message = {
'channel': "XXXX",
'text': "Hello World @ " + fmt1
}
req = Request(HOOK_URL, json.dumps(slack_message))
try:
response = urlopen(req)
response.read()
logger.info("Message posted to %s", slack_message['channel'])
except HTTPError as e:
logger.error("Request failed: %d %s", e.code, e.reason)
except URLError as e:
logger.error("Server connection failed: %s", e.reason)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment