View in Telegram
Уведомления об ошибках Power BI Report Server в Telegram Совместно с Машей делали скрипт, который регулярно отправляет в Telegram ошибки обновлений отчётов из Power BI Report Server. Запускается в самом Report Server. Как заставить скрипт работать: - Указать в скрипте IP сервера и Название БД под RS - Создать телеграм-бота и стартовать его - Получить ваш ID пользователя от @userinfobot - Указать в скрипте TOKEN бота (вместо TOKEN) и ID пользователя - Добавить скрипт в отчёт на Report Server - В настройках источника ввести логин-пароль самого RS (под ними он стучится в БД) - Поставить время обновления скрипта после остальных отчётов Ежедневно вам будут приходить все ошибки обновлений за сегодня. Если хотите отправлять уведомления в группу - уточните ID группы и добавьте туда бота с правами админа. Код скрипта:
let 
query = let 
message = 
let
    Источник = Sql.Databases("IP сервера\Название БД под RS"), //в настройках подключения вводите логин пароль самого репорт сервера который стучится в БД
    ReportServer = Источник{[Name="ReportServer"]}[Data],
    dbo_ExecutionLog3 = ReportServer{[Schema="dbo",Item="ExecutionLog3"]}[Data],
    #"Строки с примененным фильтром" = Table.SelectRows(dbo_ExecutionLog3, each ([ItemAction] = "DataRefresh") and ([Status] = "rsInternalError")),
    #"Другие удаленные столбцы" = Table.SelectColumns(#"Строки с примененным фильтром",{"ItemPath", "TimeEnd", "Status", "ItemAction", "TimeStart"}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Другие удаленные столбцы", "Сегодня", each DateTime.From(Date.From(DateTime.LocalNow()))),
    #"Измененный тип" = Table.TransformColumnTypes(#"Добавлен пользовательский объект",{{"Сегодня", type datetime}}),
    #"Добавлен пользовательский объект1" = Table.AddColumn(#"Измененный тип", "Сравнение", each [TimeEnd]>[Сегодня]),
    #"Строки с примененным фильтром1" = Table.SelectRows(#"Добавлен пользовательский объект1", each ([Сравнение] = true)),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Строки с примененным фильтром1",{"Status", "ItemAction", "Сегодня", "Сравнение"}),
    #"Сортированные строки" = Table.Sort(#"Удаленные столбцы",{{"TimeEnd", Order.Ascending}}),
    #"Добавлен пользовательский объект2" = Table.AddColumn(#"Сортированные строки", "Текст", each 
    " " & [ItemPath]&"#(lf)с "&Text.From([TimeStart])&"#(lf)по "&Text.From([TimeEnd])&"#(lf)"
),
    Пользовательский = Text.Combine(#"Добавлен пользовательский объект2"[Текст],"#(lf)")
in
    Пользовательский

, post = try Json.Document(Web.Contents("https://api.telegram.org/botTOKEN/sendMessage", [Query = [chat_id="ID ПОЛЬЗОВАТЕЛЯ",text=message, parse_mode = "Markdown"], Content = Text.ToBinary("")]))[ok] otherwise false 
in post,
 tab = #table(1, {{query}}) 
in tab
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily