Skip to content

Commit 31d4301

Browse files
feat: add support for nested messages (#142)
1 parent 96e4fa9 commit 31d4301

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

functions/notify_slack.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,19 @@ def default_notification(subject, message):
4545
attachments = {
4646
"fallback": "A new message",
4747
"title": subject if subject else "Message",
48+
"mrkdwn_in": ["value"],
4849
"fields": []
4950
}
5051
if type(message) is dict:
5152
for k, v in message.items():
52-
attachments['fields'].append({"title": k, "value": v, "short": False})
53+
value = f"`{json.dumps(v)}`" if isinstance(v, (dict, list)) else str(v)
54+
attachments['fields'].append(
55+
{
56+
"title": k,
57+
"value": value,
58+
"short": len(value) < 25
59+
}
60+
)
5361
else:
5462
attachments['fields'].append({"value": message, "short": False})
5563

functions/notify_slack_test.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,30 @@
9696
"AWSAccountId": "000000000000",
9797
"NewStateValue": "ALARM",
9898
}
99+
),
100+
(
101+
{
102+
"Records": [
103+
{
104+
"EventSource": "aws:sns",
105+
"EventVersion": "1.0",
106+
"EventSubscriptionArn": "arn:aws:sns:eu-west-1:000000000000:my-sns:76cc1745-b910-4f5e-97bf-f5993b044420",
107+
"Sns": {
108+
"Type": "Notification",
109+
"MessageId": "00337b3f-0982-5cb1-9138-22799c885da9",
110+
"TopicArn": "arn:aws:sns:eu-west-1:000000000000:my-sns",
111+
"Subject": None,
112+
"Message": '{"version":"0","id":"ad3c3da1-148c-d5da-9a6a-79f1bc9a8a2e","detail-type":"Glue Job State Change","source":"aws.glue","account":"000000000000","time":"2021-06-18T12:34:06Z","region":"eu-west-1","resources":[],"detail":{"jobName":"test_job","severity":"ERROR","state":"FAILED","jobRunId":"jr_ca2144d747b45ad412d3c66a1b6934b6b27aa252be9a21a95c54dfaa224a1925","message":"SystemExit: 1"}}',
113+
"Timestamp": "2021-06-18T12:34:09.509Z",
114+
"SignatureVersion": "1",
115+
"Signature": "MN9H4+7QXISx+IqoRtsdIIXhd9cy9yIV916ajnDChJF9XaPi76zlwHb6RYRdi8MxKIEZsQ7F6DYV/4Hz6GqcQckqZpuYywwa3S1qUim4jw+HKtVvLAsQr/aZ0n2b/8gBC0wPpge3YaMJ13iliJ0G5Bs85MoCrTVG17TGsg8HqJkeKNx1mC4PyOMejXm+F3dwudPLozJ+CX6s+rMkiHVmpJjAv9N2qYgCKloG//dXQEU9LdZpGTDFEnazVR8PKjBEN9RTXNcNnAWuFrt+r0kOtiUoObtJOulPrUIQhIi8fvLto329wWzUQkB9wnvEt7QHeO9Qp8WhstQ3/ki8yiyAwA==",
116+
"SigningCertUrl": "https://sns.eu-west-1.amazonaws.com/SimpleNotificationService-010a507c1833636cd94bdb98bd93083a.pem",
117+
"UnsubscribeUrl": "https://sns.eu-west-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:eu-west-1:r00000000000:my-sns:76cc1745-b910-4f5e-97bf-f5993b044420",
118+
"MessageAttributes": {},
119+
},
120+
}
121+
]
122+
}
99123
)
100124
)
101125

0 commit comments

Comments
 (0)