def notify_new_task_application_slack(instance, admin=True):
instance = clean_instance(instance, Application)
if not slack_utils.is_task_notification_enabled(instance.task, slugs.EVENT_APPLICATION):
return
application_url = '%s/work/%s/applications/' % (TUNGA_URL, instance.task_id)
slack_msg = "New application from %s" % instance.user.short_name
attachments = [
{
slack_utils.KEY_TITLE: instance.task.summary,
slack_utils.KEY_TITLE_LINK: application_url,
slack_utils.KEY_TEXT: '%s%s%s%s\n\n<%s|View on Tunga>' %
(truncatewords(convert_to_text(instance.pitch), 100),
instance.hours_needed and '\n*Workload:* {} hrs'.format(instance.hours_needed) or '',
instance.deliver_at and '\n*Delivery Date:* {}'.format(
instance.deliver_at.strftime("%d %b, %Y")
) or '',
instance.remarks and '\n*Remarks:* {}'.format(
truncatewords(convert_to_text(instance.remarks), 100)
) or '',
application_url),
slack_utils.KEY_MRKDWN_IN: [slack_utils.KEY_TEXT],
slack_utils.KEY_COLOR: SLACK_ATTACHMENT_COLOR_TUNGA
}
]
if admin:
slack_utils.send_incoming_webhook(
SLACK_STAFF_INCOMING_WEBHOOK,
{
slack_utils.KEY_TEXT: slack_msg,
slack_utils.KEY_ATTACHMENTS: attachments,
slack_utils.KEY_CHANNEL: SLACK_STAFF_LEADS_CHANNEL
}
)
else:
slack_utils.send_integration_message(instance.task, message=slack_msg, attachments=attachments)
评论列表
文章目录