import base64
import json
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import From, To, Subject, PlainTextContent, HtmlContent, Mail
def send_email_notification(event, context):
"""Triggered from a message on a Pub/Sub topic.
Args:
event (dict): Event payload.
context (google.cloud.functions.Context): Metadata for the event.
"""
pubsub_message = base64.b64decode(event['data']).decode('utf-8')
message_json = json.loads(pubsub_message)
timestamp = message_json['timestamp']
intendID = message_json['intendID']
projectName = message_json['projectName']
artifactName = message_json['artifactName']
artifactVersion = message_json['artifactVersion']
environment = message_json['environment']
requesterEmail = message_json['requesterEmail']
html_text = f"""
RELEASE ARTIFACT DEPLOYMENT REQUEST |
Timestamp = { timestamp }
Intend ID = "{ intendID }"
Project Name = { projectName }
Artifact Name = { artifactName }
Artifact Version = { artifactVersion }
Environment Name = { environment }
Requester Email = { requesterEmail }
|
Thanks!
Team Geek Speak Hertz |
|
|
Geek Speak Hertz Nisum Pakistan, Karachi, Sindh 75500
|
|
|
|
|
|
"""
if "environment" in message_json:
print("Environment Key exist in JSON data")
if message_json["environment"] == "QA":
message = Mail(
from_email='asad.r.hussain@gmail.com',
to_emails=['asad.r.hussain@gmail.com','niks3595@gmail.com'],
subject='GCP Hackathon - Request Artifact Deployment',
html_content= HtmlContent(html_text))
elif message_json["environment"] == "DEV":
message = Mail(
from_email='asad.r.hussain@gmail.com',
to_emails=['asad.r.hussain@gmail.com','t3hami@gmail.com'],
subject='GCP Hackathon - Request Artifact Deployment',
html_content= HtmlContent(html_text))
elif message_json["environment"] == "PERF":
message = Mail(
from_email='asad.r.hussain@gmail.com',
to_emails=['asad.r.hussain@gmail.com'],
subject='GCP Hackathon - Request Artifact Deployment',
html_content= HtmlContent(html_text))
elif message_json["environment"] == "PROD":
message = Mail(
from_email='asad.r.hussain@gmail.com',
to_emails=['asad.r.hussain@gmail.com','t3hami@gmail.com','niks3595@gmail.com'],
subject='GCP Hackathon - Request Artifact Deployment',
html_content= HtmlContent(html_text))
else:
print("Environment Not Found")
try:
sg = SendGridAPIClient('