in tooling/export-alerts/export-alerts.py [0:0]
def exportToXls(data, templateFile, outputFile):
wb = load_workbook(templateFile)
wsMetric = wb['Metric Alerts']
wsLog = wb['Log Alerts']
wsActivity = wb["Activity Alerts"]
# Delete any rows below the header row
for ws in [wsMetric, wsLog, wsActivity]:
ws.delete_rows(2, wsMetric.max_row)
for category in data:
for type in data[category]:
for alert in data[category][type]:
columnsToAdd = [
category,
type
]
if 'type' in alert:
match alert['type'].lower():
case 'metric':
wsMetric.append(columnsToAdd)
addAlertToSheet(alert, wsMetric)
case 'log':
wsLog.append(columnsToAdd)
addAlertToSheet(alert, wsLog)
case 'activitylog':
wsActivity.append(columnsToAdd)
addAlertToSheet(alert, wsActivity)
case _:
print('Unknown alert type: ' + alert['type'])
else:
print(f"No alert type for alert: {category} - {type} - {alert['name']}")
for ws in [wsMetric, wsLog, wsActivity]:
table_name = ws.title.replace(' ', '')
if len(ws.tables) == 0:
ws.add_table(Table(displayName=table_name))
table = ws.tables.get(table_name)
table.ref = f"A1:{get_column_letter(ws.max_column)}{ws.max_row}"
table.tableStyleInfo = TableStyleInfo(name='TableStyleMedium6', showRowStripes=True)
wb.save(outputFile)