MCPcopy Index your code
hub / github.com/assertible/lambda-cloudwatch-slack / handleCodeDeploy

Function handleCodeDeploy

index.js:90–135  ·  view source on GitHub ↗
(event, context)

Source from the content-addressed store, hash-verified

88};
89
90var handleCodeDeploy = function(event, context) {
91 var subject = "AWS CodeDeploy Notification";
92 var timestamp = (new Date(event.Records[0].Sns.Timestamp)).getTime()/1000;
93 var snsSubject = event.Records[0].Sns.Subject;
94 var message;
95 var fields = [];
96 var color = "warning";
97
98 try {
99 message = JSON.parse(event.Records[0].Sns.Message);
100
101 if(message.status === "SUCCEEDED"){
102 color = "good";
103 } else if(message.status === "FAILED"){
104 color = "danger";
105 }
106 fields.push({ "title": "Message", "value": snsSubject, "short": false });
107 fields.push({ "title": "Deployment Group", "value": message.deploymentGroupName, "short": true });
108 fields.push({ "title": "Application", "value": message.applicationName, "short": true });
109 fields.push({
110 "title": "Status Link",
111 "value": "https://console.aws.amazon.com/codedeploy/home?region=" + message.region + "#/deployments/" + message.deploymentId,
112 "short": false
113 });
114 }
115 catch(e) {
116 color = "good";
117 message = event.Records[0].Sns.Message;
118 fields.push({ "title": "Message", "value": snsSubject, "short": false });
119 fields.push({ "title": "Detail", "value": message, "short": false });
120 }
121
122
123 var slackMessage = {
124 text: "*" + subject + "*",
125 attachments: [
126 {
127 "color": color,
128 "fields": fields,
129 "ts": timestamp
130 }
131 ]
132 };
133
134 return _.merge(slackMessage, baseSlackMessage);
135};
136
137var handleCodePipeline = function(event, context) {
138 var subject = "AWS CodePipeline Notification";

Callers 1

processEventFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected