Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions elementary/monitor/alerts/alert_messages/builder.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
from datetime import timedelta
from typing import Any, Dict, List, Literal, Optional, Sequence, Tuple, Union

from pydantic import BaseModel

from elementary.messages.block_builders import (
BoldTextLineBlock,
BulletListBlock,
Expand All @@ -26,7 +28,6 @@
LineBlock,
LinesBlock,
LinkBlock,
MentionBlock,
TableBlock,
TextBlock,
TextStyle,
Expand All @@ -53,7 +54,14 @@
]


class MessageBuilderConfig(BaseModel):
alert_groups_subscribers: bool = False


class AlertMessageBuilder:
def __init__(self, config: Optional[MessageBuilderConfig] = None):
self.config = config or MessageBuilderConfig()

STATUS_DISPLAYS: Dict[str, str] = {
"fail": "Failure",
"warn": "Warning",
Expand Down Expand Up @@ -415,13 +423,19 @@ def _get_alert_list_line(
]
if owners := list(set(alert.owners)):
inlines.append(TextBlock(text="-"))
if len(owners) == 1:
inlines.append(TextBlock(text="Owner:"))
inlines.append(MentionBlock(user=owners.pop()))
else:
owners.sort()
inlines.append(TextBlock(text="Owners:"))
inlines.append(MentionLineBlock(*owners))
owners.sort()
inlines.append(TextBlock(text="Owners:"))
inlines.append(MentionLineBlock(*owners))

if self.config.alert_groups_subscribers:
if subscribers := list(set(alert.subscribers)):
if owners:
inlines.append(TextBlock(text="|"))
else:
inlines.append(TextBlock(text="-"))
subscribers.sort()
inlines.append(TextBlock(text="Subscribers:"))
inlines.append(MentionLineBlock(*subscribers))

if report_link := alert.get_report_link():
inlines.append(TextBlock(text="-"))
Expand Down
6 changes: 3 additions & 3 deletions elementary/monitor/dbt_project/package-lock.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
packages:
- package: dbt-labs/dbt_utils
version: 0.8.6
- git: https://github.com/elementary-data/dbt-data-reliability.git
revision: cc226bf865f922d6c4c5c6d65b2a142540e222f8
sha1_hash: a838112140dab39e15226f415d0b0bcbfbe311ff
- package: elementary-data/elementary
version: 0.18.2
sha1_hash: 0e32f8128c729542efc1b5c8e2c4fbe6f6534369
Original file line number Diff line number Diff line change
Expand Up @@ -41,37 +41,37 @@
},
{
"type": "TextBlock",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_2** - Owner: owner1",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_2** - Owners: owner1 | Subscribers: subscriber1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_3** - Owners: owner1, owner2",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_3** - Owners: owner1, owner2 | Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_4**",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_4** - Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_5** - Owner: owner1",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_5** - Owners: owner1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_6** - Owners: owner1, owner2",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_6** - Owners: owner1, owner2 | Subscribers: subscriber1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_7**",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_7** - Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_8** - Owner: owner1",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_8** - Owners: owner1 | Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
Expand All @@ -81,7 +81,7 @@
},
{
"type": "TextBlock",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_10**",
"text": "\u26a0\ufe0f **\"test_short_name\" test failed on test_table_10** - Subscribers: subscriber1",
"wrap": true
}
]
Expand All @@ -102,37 +102,37 @@
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_2** - Owner: owner1",
"text": "\u2757 **\"test_short_name\" test failed on test_table_2** - Owners: owner1 | Subscribers: subscriber1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_3** - Owners: owner1, owner2",
"text": "\u2757 **\"test_short_name\" test failed on test_table_3** - Owners: owner1, owner2 | Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_4**",
"text": "\u2757 **\"test_short_name\" test failed on test_table_4** - Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_5** - Owner: owner1",
"text": "\u2757 **\"test_short_name\" test failed on test_table_5** - Owners: owner1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_6** - Owners: owner1, owner2",
"text": "\u2757 **\"test_short_name\" test failed on test_table_6** - Owners: owner1, owner2 | Subscribers: subscriber1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_7**",
"text": "\u2757 **\"test_short_name\" test failed on test_table_7** - Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_8** - Owner: owner1",
"text": "\u2757 **\"test_short_name\" test failed on test_table_8** - Owners: owner1 | Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
Expand All @@ -142,7 +142,7 @@
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_10**",
"text": "\u2757 **\"test_short_name\" test failed on test_table_10** - Subscribers: subscriber1",
"wrap": true
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,37 +41,37 @@
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_2** - Owner: owner1",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_2** - Owners: owner1 | Subscribers: subscriber1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_3** - Owners: owner1, owner2",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_3** - Owners: owner1, owner2 | Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_4**",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_4** - Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_5** - Owner: owner1",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_5** - Owners: owner1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_6** - Owners: owner1, owner2",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_6** - Owners: owner1, owner2 | Subscribers: subscriber1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_7**",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_7** - Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_8** - Owner: owner1",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_8** - Owners: owner1 | Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
Expand All @@ -81,7 +81,7 @@
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_10**",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_10** - Subscribers: subscriber1",
"wrap": true
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,37 +41,37 @@
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_2** - Owner: owner1",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_2** - Owners: owner1 | Subscribers: subscriber1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_3** - Owners: owner1, owner2",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_3** - Owners: owner1, owner2 | Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_4**",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_4** - Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_5** - Owner: owner1",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_5** - Owners: owner1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_6** - Owners: owner1, owner2",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_6** - Owners: owner1, owner2 | Subscribers: subscriber1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_7**",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_7** - Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_8** - Owner: owner1",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_8** - Owners: owner1 | Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
Expand All @@ -81,7 +81,7 @@
},
{
"type": "TextBlock",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_10**",
"text": "\ud83d\udd3a **\"test_short_name\" test failed on test_table_10** - Subscribers: subscriber1",
"wrap": true
}
]
Expand All @@ -102,37 +102,37 @@
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_2** - Owner: owner1",
"text": "\u2757 **\"test_short_name\" test failed on test_table_2** - Owners: owner1 | Subscribers: subscriber1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_3** - Owners: owner1, owner2",
"text": "\u2757 **\"test_short_name\" test failed on test_table_3** - Owners: owner1, owner2 | Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_4**",
"text": "\u2757 **\"test_short_name\" test failed on test_table_4** - Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_5** - Owner: owner1",
"text": "\u2757 **\"test_short_name\" test failed on test_table_5** - Owners: owner1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_6** - Owners: owner1, owner2",
"text": "\u2757 **\"test_short_name\" test failed on test_table_6** - Owners: owner1, owner2 | Subscribers: subscriber1",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_7**",
"text": "\u2757 **\"test_short_name\" test failed on test_table_7** - Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_8** - Owner: owner1",
"text": "\u2757 **\"test_short_name\" test failed on test_table_8** - Owners: owner1 | Subscribers: subscriber1, subscriber2",
"wrap": true
},
{
Expand All @@ -142,7 +142,7 @@
},
{
"type": "TextBlock",
"text": "\u2757 **\"test_short_name\" test failed on test_table_10**",
"text": "\u2757 **\"test_short_name\" test failed on test_table_10** - Subscribers: subscriber1",
"wrap": true
}
]
Expand Down
Loading
Loading