@backstage-community/plugin-ilert 0.2.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1580 -0
- package/README.md +127 -0
- package/config.d.ts +31 -0
- package/dist/esm/index-D2_Gjvjx.esm.js +58 -0
- package/dist/esm/index-D2_Gjvjx.esm.js.map +1 -0
- package/dist/esm/index-aory7UQN.esm.js +58 -0
- package/dist/esm/index-aory7UQN.esm.js.map +1 -0
- package/dist/index.d.ts +441 -0
- package/dist/index.esm.js +3344 -0
- package/dist/index.esm.js.map +1 -0
- package/package.json +72 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import react__default from 'react';
|
|
4
|
+
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
5
|
+
import { IconComponent, ConfigApi, DiscoveryApi } from '@backstage/core-plugin-api';
|
|
6
|
+
import { Entity } from '@backstage/catalog-model';
|
|
7
|
+
|
|
8
|
+
/** @public */
|
|
9
|
+
declare const ilertPlugin: _backstage_core_plugin_api.BackstagePlugin<{
|
|
10
|
+
root: _backstage_core_plugin_api.RouteRef<undefined>;
|
|
11
|
+
}, {}, {}>;
|
|
12
|
+
/** @public */
|
|
13
|
+
declare const ILertPage$1: () => react.JSX.Element;
|
|
14
|
+
/** @public */
|
|
15
|
+
declare const EntityILertCard: () => react.JSX.Element;
|
|
16
|
+
|
|
17
|
+
/** @public */
|
|
18
|
+
declare const ILertPage: () => react__default.JSX.Element;
|
|
19
|
+
|
|
20
|
+
/** @public */
|
|
21
|
+
declare const isPluginApplicableToEntity: (entity: Entity) => boolean;
|
|
22
|
+
/** @public */
|
|
23
|
+
declare const ILertCard: () => react__default.JSX.Element;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
declare const ILertIcon: IconComponent;
|
|
29
|
+
|
|
30
|
+
/** @public */
|
|
31
|
+
interface Alert {
|
|
32
|
+
id: number;
|
|
33
|
+
summary: string;
|
|
34
|
+
details: string;
|
|
35
|
+
reportTime: string;
|
|
36
|
+
resolvedOn: string;
|
|
37
|
+
status: AlertStatus;
|
|
38
|
+
priority: AlertPriority;
|
|
39
|
+
alertKey: string;
|
|
40
|
+
alertSource: AlertSource | null;
|
|
41
|
+
assignedTo: User | null;
|
|
42
|
+
responders: Responder[];
|
|
43
|
+
logEntries: LogEntry[];
|
|
44
|
+
links: Link[];
|
|
45
|
+
images: Image[];
|
|
46
|
+
subscribers: Subscriber[];
|
|
47
|
+
commentText: string;
|
|
48
|
+
commentPublishToSubscribers: boolean;
|
|
49
|
+
}
|
|
50
|
+
/** @public */
|
|
51
|
+
declare const PENDING = "PENDING";
|
|
52
|
+
/** @public */
|
|
53
|
+
declare const ACCEPTED = "ACCEPTED";
|
|
54
|
+
/** @public */
|
|
55
|
+
declare const RESOLVED = "RESOLVED";
|
|
56
|
+
/** @public */
|
|
57
|
+
type AlertStatus = typeof PENDING | typeof ACCEPTED | typeof RESOLVED;
|
|
58
|
+
/** @public */
|
|
59
|
+
type AlertPriority = 'HIGH' | 'LOW';
|
|
60
|
+
/** @public */
|
|
61
|
+
interface Link {
|
|
62
|
+
href: string;
|
|
63
|
+
text: string;
|
|
64
|
+
}
|
|
65
|
+
/** @public */
|
|
66
|
+
interface Image {
|
|
67
|
+
src: string;
|
|
68
|
+
href: string;
|
|
69
|
+
alt: string;
|
|
70
|
+
}
|
|
71
|
+
/** @public */
|
|
72
|
+
type SubscriberType = 'TEAM' | 'USER';
|
|
73
|
+
/** @public */
|
|
74
|
+
interface Subscriber {
|
|
75
|
+
id: number;
|
|
76
|
+
name: string;
|
|
77
|
+
type: SubscriberType;
|
|
78
|
+
}
|
|
79
|
+
/** @public */
|
|
80
|
+
interface LogEntry {
|
|
81
|
+
id: number;
|
|
82
|
+
timestamp: string;
|
|
83
|
+
logEntryType: string;
|
|
84
|
+
text: string;
|
|
85
|
+
alertId?: number;
|
|
86
|
+
iconName?: string;
|
|
87
|
+
iconClass?: string;
|
|
88
|
+
filterTypes?: string[];
|
|
89
|
+
}
|
|
90
|
+
/** @public */
|
|
91
|
+
interface User {
|
|
92
|
+
id: number;
|
|
93
|
+
username: string;
|
|
94
|
+
firstName: string;
|
|
95
|
+
lastName: string;
|
|
96
|
+
email: string;
|
|
97
|
+
mobile: Phone;
|
|
98
|
+
landline: Phone;
|
|
99
|
+
timezone?: string;
|
|
100
|
+
language?: Language;
|
|
101
|
+
role?: UserRole;
|
|
102
|
+
notificationPreferences?: any[];
|
|
103
|
+
position: string;
|
|
104
|
+
department: string;
|
|
105
|
+
}
|
|
106
|
+
/** @public */
|
|
107
|
+
interface Responder {
|
|
108
|
+
acceptedAt?: string;
|
|
109
|
+
status: string;
|
|
110
|
+
user: User;
|
|
111
|
+
}
|
|
112
|
+
/** @public */
|
|
113
|
+
type UserRole = 'USER' | 'ADMIN' | 'STAKEHOLDER' | 'ACCOUNT_OWNER' | 'RESPONDER';
|
|
114
|
+
/** @public */
|
|
115
|
+
type Language = 'de' | 'en';
|
|
116
|
+
/** @public */
|
|
117
|
+
interface Phone {
|
|
118
|
+
regionCode: string;
|
|
119
|
+
number: string;
|
|
120
|
+
}
|
|
121
|
+
/** @public */
|
|
122
|
+
interface AlertSource {
|
|
123
|
+
id: number;
|
|
124
|
+
name: string;
|
|
125
|
+
status: AlertSourceStatus;
|
|
126
|
+
escalationPolicy: EscalationPolicy;
|
|
127
|
+
integrationType: AlertSourceIntegrationType;
|
|
128
|
+
integrationKey?: string;
|
|
129
|
+
iconUrl?: string;
|
|
130
|
+
lightIconUrl?: string;
|
|
131
|
+
darkIconUrl?: string;
|
|
132
|
+
alertCreation?: AlertSourceAlertCreation;
|
|
133
|
+
alertPriorityRule?: AlertSourceAlertPriorityRule;
|
|
134
|
+
emailFiltered?: boolean;
|
|
135
|
+
emailResolveFiltered?: boolean;
|
|
136
|
+
active?: boolean;
|
|
137
|
+
emailPredicates?: AlertSourceEmailPredicate[];
|
|
138
|
+
emailResolvePredicates?: AlertSourceEmailPredicate[];
|
|
139
|
+
filterOperator?: AlertSourceFilterOperator;
|
|
140
|
+
resolveFilterOperator?: AlertSourceFilterOperator;
|
|
141
|
+
supportHours?: AlertSourceSupportHours;
|
|
142
|
+
heartbeat?: AlertSourceHeartbeat;
|
|
143
|
+
autotaskMetadata?: AlertSourceAutotaskMetadata;
|
|
144
|
+
autoResolutionTimeout?: string;
|
|
145
|
+
teams: TeamShort[];
|
|
146
|
+
}
|
|
147
|
+
/** @public */
|
|
148
|
+
interface TeamShort {
|
|
149
|
+
id: number;
|
|
150
|
+
name: string;
|
|
151
|
+
}
|
|
152
|
+
/** @public */
|
|
153
|
+
interface TeamMember {
|
|
154
|
+
user: User;
|
|
155
|
+
role: 'STAKEHOLDER' | 'RESPONDER' | 'USER' | 'ADMIN';
|
|
156
|
+
}
|
|
157
|
+
/** @public */
|
|
158
|
+
type AlertSourceStatus = 'PENDING' | 'ALL_ACCEPTED' | 'ALL_RESOLVED' | 'IN_MAINTENANCE' | 'DISABLED';
|
|
159
|
+
/** @public */
|
|
160
|
+
type AlertSourceIntegrationType = 'NAGIOS' | 'ICINGA' | 'EMAIL' | 'SMS' | 'API' | 'CRN' | 'HEARTBEAT' | 'PRTG' | 'PINGDOM' | 'CLOUDWATCH' | 'AWSPHD' | 'STACKDRIVER' | 'INSTANA' | 'ZABBIX' | 'SOLARWINDS' | 'PROMETHEUS' | 'NEWRELIC' | 'GRAFANA' | 'GITHUB' | 'DATADOG' | 'UPTIMEROBOT' | 'APPDYNAMICS' | 'DYNATRACE' | 'TOPDESK' | 'STATUSCAKE' | 'MONITOR' | 'TOOL' | 'CHECKMK' | 'AUTOTASK' | 'AWSBUDGET' | 'KENTIXAM' | 'CONSUL' | 'ZAMMAD' | 'SIGNALFX' | 'SPLUNK' | 'KUBERNETES' | 'SEMATEXT' | 'SENTRY' | 'SUMOLOGIC' | 'RAYGUN' | 'MXTOOLBOX' | 'ESWATCHER' | 'AMAZONSNS' | 'KAPACITOR' | 'CORTEXXSOAR' | string;
|
|
161
|
+
/** @public */
|
|
162
|
+
type AlertSourceAlertCreation = 'ONE_ALERT_PER_EMAIL' | 'ONE_ALERT_PER_EMAIL_SUBJECT' | 'ONE_PENDING_ALERT_ALLOWED' | 'ONE_OPEN_ALERT_ALLOWED' | 'OPEN_RESOLVE_ON_EXTRACTION';
|
|
163
|
+
/** @public */
|
|
164
|
+
type AlertSourceFilterOperator = 'AND' | 'OR';
|
|
165
|
+
/** @public */
|
|
166
|
+
type AlertSourceAlertPriorityRule = 'HIGH' | 'LOW' | 'HIGH_DURING_SUPPORT_HOURS' | 'LOW_DURING_SUPPORT_HOURS';
|
|
167
|
+
/** @public */
|
|
168
|
+
declare const OPERATIONAL = "OPERATIONAL";
|
|
169
|
+
/** @public */
|
|
170
|
+
declare const UNDER_MAINTENANCE = "UNDER_MAINTENANCE";
|
|
171
|
+
/** @public */
|
|
172
|
+
declare const DEGRADED = "DEGRADED";
|
|
173
|
+
/** @public */
|
|
174
|
+
declare const PARTIAL_OUTAGE = "PARTIAL_OUTAGE";
|
|
175
|
+
/** @public */
|
|
176
|
+
declare const MAJOR_OUTAGE = "MAJOR_OUTAGE";
|
|
177
|
+
/** @public */
|
|
178
|
+
type ServiceStatus = typeof OPERATIONAL | typeof UNDER_MAINTENANCE | typeof DEGRADED | typeof PARTIAL_OUTAGE | typeof MAJOR_OUTAGE;
|
|
179
|
+
/** @public */
|
|
180
|
+
declare const PRIVATE = "PRIVATE";
|
|
181
|
+
/** @public */
|
|
182
|
+
declare const PUBLIC = "PUBLIC";
|
|
183
|
+
/** @public */
|
|
184
|
+
type StatusPageVisibility = typeof PRIVATE | typeof PUBLIC;
|
|
185
|
+
/** @public */
|
|
186
|
+
interface AlertSourceEmailPredicate {
|
|
187
|
+
field: 'EMAIL_FROM' | 'EMAIL_SUBJECT' | 'EMAIL_BODY';
|
|
188
|
+
criteria: 'CONTAINS_ANY_WORDS' | 'CONTAINS_NOT_WORDS' | 'CONTAINS_STRING' | 'CONTAINS_NOT_STRING' | 'IS_STRING' | 'IS_NOT_STRING' | 'MATCHES_REGEX' | 'MATCHES_NOT_REGEX';
|
|
189
|
+
value: string;
|
|
190
|
+
}
|
|
191
|
+
/** @public */
|
|
192
|
+
type AlertSourceTimeZone = 'Europe/Berlin' | 'America/New_York' | 'America/Los_Angeles' | 'Asia/Istanbul';
|
|
193
|
+
/** @public */
|
|
194
|
+
interface AlertSourceSupportDay {
|
|
195
|
+
start: string;
|
|
196
|
+
end: string;
|
|
197
|
+
}
|
|
198
|
+
/** @public */
|
|
199
|
+
interface AlertSourceSupportHours {
|
|
200
|
+
timezone: AlertSourceTimeZone;
|
|
201
|
+
autoRaiseAlerts: boolean;
|
|
202
|
+
supportDays: {
|
|
203
|
+
MONDAY: AlertSourceSupportDay;
|
|
204
|
+
TUESDAY: AlertSourceSupportDay;
|
|
205
|
+
WEDNESDAY: AlertSourceSupportDay;
|
|
206
|
+
THURSDAY: AlertSourceSupportDay;
|
|
207
|
+
FRIDAY: AlertSourceSupportDay;
|
|
208
|
+
SATURDAY: AlertSourceSupportDay;
|
|
209
|
+
SUNDAY: AlertSourceSupportDay;
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
/** @public */
|
|
213
|
+
interface AlertSourceHeartbeat {
|
|
214
|
+
summary: string;
|
|
215
|
+
intervalSec: number;
|
|
216
|
+
status: 'OVERDUE' | 'ON_TIME' | 'NEVER_RECEIVED';
|
|
217
|
+
}
|
|
218
|
+
/** @public */
|
|
219
|
+
interface AlertSourceAutotaskMetadata {
|
|
220
|
+
userName: string;
|
|
221
|
+
secret: string;
|
|
222
|
+
apiIntegrationCode: string;
|
|
223
|
+
webServer: string;
|
|
224
|
+
}
|
|
225
|
+
/** @public */
|
|
226
|
+
interface EscalationPolicy {
|
|
227
|
+
id: number;
|
|
228
|
+
name: string;
|
|
229
|
+
escalationRules: EscalationRule[];
|
|
230
|
+
newEscalationRule: EscalationRule;
|
|
231
|
+
repeating?: boolean;
|
|
232
|
+
frequency?: number;
|
|
233
|
+
teams: TeamShort[];
|
|
234
|
+
}
|
|
235
|
+
/** @public */
|
|
236
|
+
interface EscalationRule {
|
|
237
|
+
user: User | null;
|
|
238
|
+
schedule: Schedule | null;
|
|
239
|
+
escalationTimeout: number;
|
|
240
|
+
}
|
|
241
|
+
/** @public */
|
|
242
|
+
interface Schedule {
|
|
243
|
+
id: number;
|
|
244
|
+
name: string;
|
|
245
|
+
timezone: string;
|
|
246
|
+
startsOn: string;
|
|
247
|
+
currentShift: Shift;
|
|
248
|
+
nextShift: Shift;
|
|
249
|
+
shifts: Shift[];
|
|
250
|
+
overrides: Shift[];
|
|
251
|
+
teams: TeamShort[];
|
|
252
|
+
}
|
|
253
|
+
/** @public */
|
|
254
|
+
interface Shift {
|
|
255
|
+
user: User;
|
|
256
|
+
start: string;
|
|
257
|
+
end: string;
|
|
258
|
+
}
|
|
259
|
+
/** @public */
|
|
260
|
+
interface AlertResponder {
|
|
261
|
+
group: 'SUGGESTED' | 'USER' | 'ESCALATION_POLICY' | 'ON_CALL_SCHEDULE';
|
|
262
|
+
id: number;
|
|
263
|
+
name: string;
|
|
264
|
+
disabled: boolean;
|
|
265
|
+
}
|
|
266
|
+
/** @public */
|
|
267
|
+
interface AlertAction {
|
|
268
|
+
name: string;
|
|
269
|
+
type: string;
|
|
270
|
+
webhookId: string;
|
|
271
|
+
extensionId?: string;
|
|
272
|
+
history?: AlertActionHistory[];
|
|
273
|
+
}
|
|
274
|
+
/** @public */
|
|
275
|
+
interface AlertActionHistory {
|
|
276
|
+
id: string;
|
|
277
|
+
webhookId: string;
|
|
278
|
+
alertId: number;
|
|
279
|
+
actor: User;
|
|
280
|
+
success: boolean;
|
|
281
|
+
}
|
|
282
|
+
/** @public */
|
|
283
|
+
interface OnCall {
|
|
284
|
+
user: User;
|
|
285
|
+
escalationPolicy: EscalationPolicy;
|
|
286
|
+
schedule?: Schedule;
|
|
287
|
+
start: string;
|
|
288
|
+
end: string;
|
|
289
|
+
escalationLevel: number;
|
|
290
|
+
}
|
|
291
|
+
/** @public */
|
|
292
|
+
interface Service {
|
|
293
|
+
id: number;
|
|
294
|
+
name: string;
|
|
295
|
+
status: ServiceStatus;
|
|
296
|
+
uptime: Uptime;
|
|
297
|
+
}
|
|
298
|
+
/** @public */
|
|
299
|
+
interface Uptime {
|
|
300
|
+
uptimePercentage: UptimePercentage;
|
|
301
|
+
}
|
|
302
|
+
/** @public */
|
|
303
|
+
interface UptimePercentage {
|
|
304
|
+
p90: number;
|
|
305
|
+
}
|
|
306
|
+
/** @public */
|
|
307
|
+
interface StatusPage {
|
|
308
|
+
id: number;
|
|
309
|
+
name: string;
|
|
310
|
+
domain: string;
|
|
311
|
+
subdomain: string;
|
|
312
|
+
visibility: StatusPageVisibility;
|
|
313
|
+
status: ServiceStatus;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/** @public */
|
|
317
|
+
type TableState = {
|
|
318
|
+
page: number;
|
|
319
|
+
pageSize: number;
|
|
320
|
+
};
|
|
321
|
+
/** @public */
|
|
322
|
+
type GetAlertsOpts = {
|
|
323
|
+
maxResults?: number;
|
|
324
|
+
startIndex?: number;
|
|
325
|
+
states?: AlertStatus[];
|
|
326
|
+
alertSources?: number[];
|
|
327
|
+
};
|
|
328
|
+
/** @public */
|
|
329
|
+
type GetAlertsCountOpts = {
|
|
330
|
+
states?: AlertStatus[];
|
|
331
|
+
};
|
|
332
|
+
/** @public */
|
|
333
|
+
type GetServicesOpts = {
|
|
334
|
+
maxResults?: number;
|
|
335
|
+
startIndex?: number;
|
|
336
|
+
};
|
|
337
|
+
/** @public */
|
|
338
|
+
type GetStatusPagesOpts = {
|
|
339
|
+
maxResults?: number;
|
|
340
|
+
startIndex?: number;
|
|
341
|
+
};
|
|
342
|
+
/** @public */
|
|
343
|
+
type EventRequest = {
|
|
344
|
+
integrationKey: string;
|
|
345
|
+
summary: string;
|
|
346
|
+
details: string;
|
|
347
|
+
userName: string;
|
|
348
|
+
source: string;
|
|
349
|
+
};
|
|
350
|
+
/** @public */
|
|
351
|
+
interface ILertApi {
|
|
352
|
+
fetchAlerts(opts?: GetAlertsOpts): Promise<Alert[]>;
|
|
353
|
+
fetchAlertsCount(opts?: GetAlertsCountOpts): Promise<number>;
|
|
354
|
+
fetchAlert(id: number): Promise<Alert>;
|
|
355
|
+
fetchAlertResponders(alert: Alert): Promise<AlertResponder[]>;
|
|
356
|
+
fetchAlertActions(alert: Alert): Promise<AlertAction[]>;
|
|
357
|
+
acceptAlert(alert: Alert, userName: string): Promise<Alert>;
|
|
358
|
+
resolveAlert(alert: Alert, userName: string): Promise<Alert>;
|
|
359
|
+
assignAlert(alert: Alert, responder: AlertResponder): Promise<Alert>;
|
|
360
|
+
createAlert(eventRequest: EventRequest): Promise<boolean>;
|
|
361
|
+
triggerAlertAction(alert: Alert, action: AlertAction): Promise<void>;
|
|
362
|
+
fetchAlertSources(): Promise<AlertSource[]>;
|
|
363
|
+
fetchAlertSource(idOrIntegrationKey: number | string): Promise<AlertSource>;
|
|
364
|
+
fetchAlertSourceOnCalls(alertSource: AlertSource): Promise<OnCall[]>;
|
|
365
|
+
enableAlertSource(alertSource: AlertSource): Promise<AlertSource>;
|
|
366
|
+
disableAlertSource(alertSource: AlertSource): Promise<AlertSource>;
|
|
367
|
+
addImmediateMaintenance(alertSourceId: number, minutes: number): Promise<void>;
|
|
368
|
+
fetchOnCallSchedules(): Promise<Schedule[]>;
|
|
369
|
+
fetchUsers(): Promise<User[]>;
|
|
370
|
+
overrideShift(scheduleId: number, userId: number, start: string, end: string): Promise<Schedule>;
|
|
371
|
+
fetchServices(opts?: GetServicesOpts): Promise<Service[]>;
|
|
372
|
+
fetchStatusPages(opts?: GetStatusPagesOpts): Promise<StatusPage[]>;
|
|
373
|
+
getAlertDetailsURL(alert: Alert): string;
|
|
374
|
+
getAlertSourceDetailsURL(alertSource: AlertSource | null): string;
|
|
375
|
+
getEscalationPolicyDetailsURL(escalationPolicy: EscalationPolicy): string;
|
|
376
|
+
getScheduleDetailsURL(schedule: Schedule): string;
|
|
377
|
+
getServiceDetailsURL(service: Service): string;
|
|
378
|
+
getStatusPageDetailsURL(statusPage: StatusPage): string;
|
|
379
|
+
getStatusPageURL(statusPage: StatusPage): string;
|
|
380
|
+
getUserPhoneNumber(user: User | null): string;
|
|
381
|
+
getUserInitials(user: User | null): string;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
/** @public */
|
|
385
|
+
declare const ilertApiRef: _backstage_core_plugin_api.ApiRef<ILertApi>;
|
|
386
|
+
/** @public */
|
|
387
|
+
declare class ILertClient implements ILertApi {
|
|
388
|
+
private readonly discoveryApi;
|
|
389
|
+
private readonly proxyPath;
|
|
390
|
+
private readonly baseUrl;
|
|
391
|
+
static fromConfig(configApi: ConfigApi, discoveryApi: DiscoveryApi): ILertClient;
|
|
392
|
+
constructor(opts: {
|
|
393
|
+
discoveryApi: DiscoveryApi;
|
|
394
|
+
/**
|
|
395
|
+
* URL used by users to access iLert web UI.
|
|
396
|
+
* Example: https://my-org.ilert.com/
|
|
397
|
+
*/
|
|
398
|
+
baseUrl: string;
|
|
399
|
+
/**
|
|
400
|
+
* Path to use for requests via the proxy, defaults to /ilert/api
|
|
401
|
+
*/
|
|
402
|
+
proxyPath: string;
|
|
403
|
+
});
|
|
404
|
+
private fetch;
|
|
405
|
+
fetchAlerts(opts?: GetAlertsOpts): Promise<Alert[]>;
|
|
406
|
+
fetchAlertsCount(opts?: GetAlertsCountOpts): Promise<number>;
|
|
407
|
+
fetchAlert(id: number): Promise<Alert>;
|
|
408
|
+
fetchAlertResponders(alert: Alert): Promise<AlertResponder[]>;
|
|
409
|
+
fetchAlertActions(alert: Alert): Promise<AlertAction[]>;
|
|
410
|
+
acceptAlert(alert: Alert, userName: string): Promise<Alert>;
|
|
411
|
+
resolveAlert(alert: Alert, userName: string): Promise<Alert>;
|
|
412
|
+
assignAlert(alert: Alert, responder: AlertResponder): Promise<Alert>;
|
|
413
|
+
triggerAlertAction(alert: Alert, action: AlertAction): Promise<void>;
|
|
414
|
+
createAlert(eventRequest: EventRequest): Promise<boolean>;
|
|
415
|
+
fetchAlertSources(): Promise<AlertSource[]>;
|
|
416
|
+
fetchAlertSource(idOrIntegrationKey: number | string): Promise<AlertSource>;
|
|
417
|
+
fetchAlertSourceOnCalls(alertSource: AlertSource): Promise<OnCall[]>;
|
|
418
|
+
enableAlertSource(alertSource: AlertSource): Promise<AlertSource>;
|
|
419
|
+
disableAlertSource(alertSource: AlertSource): Promise<AlertSource>;
|
|
420
|
+
addImmediateMaintenance(alertSourceId: number, minutes: number): Promise<void>;
|
|
421
|
+
fetchOnCallSchedules(): Promise<Schedule[]>;
|
|
422
|
+
fetchUsers(): Promise<User[]>;
|
|
423
|
+
overrideShift(scheduleId: number, userId: number, start: string, end: string): Promise<Schedule>;
|
|
424
|
+
fetchServices(opts?: GetServicesOpts): Promise<Service[]>;
|
|
425
|
+
fetchStatusPages(opts?: GetStatusPagesOpts): Promise<StatusPage[]>;
|
|
426
|
+
getAlertDetailsURL(alert: Alert): string;
|
|
427
|
+
getAlertSourceDetailsURL(alertSource: AlertSource | null): string;
|
|
428
|
+
getEscalationPolicyDetailsURL(escalationPolicy: EscalationPolicy): string;
|
|
429
|
+
getScheduleDetailsURL(schedule: Schedule): string;
|
|
430
|
+
getServiceDetailsURL(service: Service): string;
|
|
431
|
+
getStatusPageDetailsURL(statusPage: StatusPage): string;
|
|
432
|
+
getStatusPageURL(statusPage: StatusPage): string;
|
|
433
|
+
getUserPhoneNumber(user: User | null): string;
|
|
434
|
+
getUserInitials(user: User | null): string;
|
|
435
|
+
private apiUrl;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
/** @public */
|
|
439
|
+
declare const iLertRouteRef: _backstage_core_plugin_api.RouteRef<undefined>;
|
|
440
|
+
|
|
441
|
+
export { ACCEPTED, type Alert, type AlertAction, type AlertActionHistory, type AlertPriority, type AlertResponder, type AlertSource, type AlertSourceAlertCreation, type AlertSourceAlertPriorityRule, type AlertSourceAutotaskMetadata, type AlertSourceEmailPredicate, type AlertSourceFilterOperator, type AlertSourceHeartbeat, type AlertSourceIntegrationType, type AlertSourceStatus, type AlertSourceSupportDay, type AlertSourceSupportHours, type AlertSourceTimeZone, type AlertStatus, DEGRADED, EntityILertCard, type EscalationPolicy, type EscalationRule, type EventRequest, type GetAlertsCountOpts, type GetAlertsOpts, type GetServicesOpts, type GetStatusPagesOpts, type ILertApi, ILertCard, ILertClient, ILertIcon, ILertPage$1 as ILertPage, type Image, type Language, type Link, type LogEntry, MAJOR_OUTAGE, OPERATIONAL, type OnCall, PARTIAL_OUTAGE, PENDING, PRIVATE, PUBLIC, type Phone, RESOLVED, type Responder, ILertPage as Router, type Schedule, type Service, type ServiceStatus, type Shift, type StatusPage, type StatusPageVisibility, type Subscriber, type SubscriberType, type TableState, type TeamMember, type TeamShort, UNDER_MAINTENANCE, type Uptime, type UptimePercentage, type User, type UserRole, iLertRouteRef, ilertApiRef, ilertPlugin, isPluginApplicableToEntity as isILertAvailable, isPluginApplicableToEntity, ilertPlugin as plugin };
|