From a1ffb2c27102f1ee6fbd843a6090c9827093fc77 Mon Sep 17 00:00:00 2001 From: Vasiliy Kaygorodov Date: Fri, 21 Jul 2017 16:51:25 +0200 Subject: [PATCH] Send cards instead of usual messages for Slack --- ansible.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ansible.py b/ansible.py index 0889620..c4a0629 100644 --- a/ansible.py +++ b/ansible.py @@ -170,13 +170,22 @@ def task_poller(self): self.log.debug("Task list: {}".format(self['tasks'])) tasklist = self['tasks'] for uuid in list(tasklist): - author = tasklist[uuid] + author = self.build_identifier(tasklist[uuid]) (result, status) = tasks.get_task_info(uuid) self.log.debug("Processing task: {}; status: {}, " "result:\n{}".format(uuid, status, result)) if status in ['finished', 'failed'] and result: - self.send_templated(self.build_identifier(author), - 'task_info', {'uuid': uuid, 'status': status, 'task_info': result}) + if self._bot.mode == 'slack': + card_color = 'green' + if status != 'finished': card_color = 'red' + self.send_card(to=author, + title="Task " + uuid + " finished", + body=result, + color=card_color) + else: + self.send_templated(author, + 'task_info', + {'uuid': uuid, 'status': status, 'task_info': result}) del tasklist[uuid] self['tasks'] = tasklist elif status == 'started':