Skip to content
Open
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
5 changes: 5 additions & 0 deletions workspaces/ilert/.changeset/lemon-scissors-greet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@backstage-community/plugin-ilert': patch
---

Align plugin copy and docs to ilert naming; update README, config types, and UI wording (alerts).
50 changes: 30 additions & 20 deletions workspaces/ilert/plugins/ilert/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,34 @@

## Introduction

[iLert](https://www.ilert.com) is a platform for alerting, on-call management and uptime monitoring. It helps teams to reduce response times to critical incidents by extending monitoring tools with reliable alerting, automatic escalations, on-call schedules and other features to support the incident response process, such as informing stakeholders or creating tickets in external incident management tools.
[ilert](https://www.ilert.com) The AI-first platform for on-call, incident response, and status pages – eliminating the interrupt tax across your stack.

## Overview

This plugin gives an overview about ongoing iLert incidents, on-call and uptime monitor status.
See who is on-call, which incidents are active and trigger incidents directly from backstage for the configured alert sources.
This plugin integrates ilert into Backstage and provides an overview of operational information such as alerts, on-call schedules, services, and status pages.

In detail this plugin provides:
It allows users to:

- Information details about the person on-call (all escalation levels of the current time)
- A way to override the current on-call person
- A list of active incidents
- A way to trigger a new incident
- A way to reassign/acknowledge/resolve an incident
- A way to trigger an incident action
- A way to trigger an immediate maintenance
- A way to disable/enable an alert source
- A list of uptime monitors
- See who is currently on-call
- View active alerts
- Trigger alerts directly from Backstage for configured alert sources
- View services and their current status
- Access status pages

### Features

This plugin provides the following functionality:

- View details about the current on-call person (including all escalation levels)
- Override the current on-call assignment
- View a list of active alerts
- Trigger a new alert
- Reassign, acknowledge, or resolve an alert
- Trigger alert actions
- Enable or disable an alert source
- Start immediate maintenance
- View services and their current status
- Access configured status pages

## Setup instructions

Expand Down Expand Up @@ -49,28 +59,28 @@ import {
// ...
```

> To force an iLert card for each entity just add the `<EntityILertCard />` component. An instruction card will appear if no integration key is set.
> To force an ilert card for each entity just add the `<EntityILertCard />` component. An instruction card will appear if no integration key is set.

## Add iLert explorer to the app sidebar
## Add ilert explorer to the app sidebar

Modify your app routes in [`App.tsx`](https://github.com/backstage/backstage/blob/master/packages/app/src/App.tsx) to include the Router component exported by the plugin - for example:

```tsx
import { ILertPage } from '@backstage-community/plugin-ilert';
import { IlertPage } from '@backstage-community/plugin-ilert';
<FlatRoutes>
// ...
<Route path="/ilert" element={<ILertPage />} />
<Route path="/ilert" element={<IlertPage />} />
// ...
</FlatRoutes>;
```

Modify your sidebar in [`Root.tsx`](https://github.com/backstage/backstage/blob/master/packages/app/src/components/Root/Root.tsx) to include the icon component exported by the plugin - for example:

```tsx
import { ILertIcon } from '@backstage-community/plugin-ilert';
import { IlertIcon } from '@backstage-community/plugin-ilert';
<Sidebar>
// ...
<SidebarItem icon={ILertIcon} to="ilert" text="iLert" />
<SidebarItem icon={IlertIcon} to="ilert" text="ilert" />
// ...
</Sidebar>;
```
Expand All @@ -88,7 +98,7 @@ ilert:

## Providing the Authorization Header

In order to make the API calls, you need to provide a new proxy config which will redirect to the [iLert API](https://api.ilert.com/api-docs/) endpoint. It needs an [Authorization Header](https://api.ilert.com/api-docs/#section/Authentication).
In order to make the API calls, you need to provide a new proxy config which will redirect to the [ilert API](https://api.ilert.com/api-docs/) endpoint. It needs an [Authorization Header](https://api.ilert.com/api-docs/#section/Authentication).

Add the proxy configuration in `app-config.yaml`

Expand Down
2 changes: 1 addition & 1 deletion workspaces/ilert/plugins/ilert/config.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
export interface Config {
ilert?: {
/**
* Domain used by users to access iLert web UI.
* Domain used by users to access ilert web UI.
* Example: https://my-app.ilert.com/
* @visibility frontend
*/
Expand Down
2 changes: 1 addition & 1 deletion workspaces/ilert/plugins/ilert/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@backstage-community/plugin-ilert",
"version": "0.18.0",
"description": "A Backstage plugin that integrates towards iLert",
"description": "A Backstage plugin that integrates towards ilert",
"backstage": {
"role": "frontend-plugin",
"pluginId": "ilert",
Expand Down
4 changes: 2 additions & 2 deletions workspaces/ilert/plugins/ilert/src/api/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export class ILertClient implements ILertApi {
fetchApi: FetchApi;

/**
* URL used by users to access iLert web UI.
* URL used by users to access ilert web UI.
* Example: https://my-org.ilert.com/
*/
baseUrl: string;
Expand Down Expand Up @@ -382,7 +382,7 @@ export class ILertClient implements ILertApi {
body: JSON.stringify({
start: dt.utc().toISO(),
end: dt.utc().plus({ minutes }).toISO(),
description: `Immediate maintenance window for ${minutes} minutes. Backstage — iLert plugin.`,
description: `Immediate maintenance window for ${minutes} minutes. Backstage — ilert plugin.`,
createdBy: 'Backstage',
timezone: dt.local().zoneName,
alertSources: [{ id: alertSourceId }],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ export const AlertActionsMenu = ({

<MenuItem key="details" onClick={handleCloseMenu}>
<Typography variant="inherit" noWrap>
<Link to={ilertApi.getAlertDetailsURL(alert)}>View in iLert</Link>
<Link to={ilertApi.getAlertDetailsURL(alert)}>View in ilert</Link>
</Typography>
</MenuItem>
</Menu>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ export const AlertsPage = () => {
refetchAlerts={refetchAlerts}
/>
<SupportButton>
This helps you to bring iLert into your developer portal.
This helps you to bring ilert into your developer portal.
</SupportButton>
</ContentHeader>
<AlertsTable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { EmptyState } from '@backstage/core-components';
export const MissingAuthorizationHeaderError = () => (
<EmptyState
missing="info"
title="Missing or invalid iLert authorization header"
title="Missing or invalid ilert authorization header"
description="The request to fetch data needs a valid authorization header. See README for more details."
action={
<Button
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ export const ILertCard = () => {
<>
<Card data-testid="ilert-card">
<CardHeader
title="iLert"
title="ilert"
subheader={
<ILertCardActionsHeader
alertSource={alertSource}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ export const ILertCardEmptyState = () => {

return (
<Card data-testid="ilert-empty-card">
<CardHeader title="iLert" className={classes.header} />
<CardHeader title="ilert" className={classes.header} />
<Divider />
<CardContent>
<Typography variant="body1">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ export const ILertPage = () => {

return (
<Page themeId="website">
<Header title="iLert" type="tool">
<HeaderLabel label="Owner" value="iLert" />
<Header title="ilert" type="tool">
<HeaderLabel label="Owner" value="ilert" />
<HeaderLabel label="Lifecycle" value="Alpha" />
</Header>
<HeaderTabs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export const OnCallSchedulesPage = () => {
<Content>
<ContentHeader title="Who is on call?">
<SupportButton>
This helps you to bring iLert into your developer portal.
This helps you to bring ilert into your developer portal.
</SupportButton>
</ContentHeader>
<OnCallSchedulesGrid
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export const ServiceActionsMenu = ({ service }: { service: Service }) => {
<MenuItem key="details" onClick={handleCloseMenu}>
<Typography variant="inherit" noWrap>
<Link to={ilertApi.getServiceDetailsURL(service)}>
View in iLert
View in ilert
</Link>
</Typography>
</MenuItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ export const ServicesPage = () => {
<Content>
<ContentHeader title="Services">
<SupportButton>
This helps you to bring iLert into your developer portal.
This helps you to bring ilert into your developer portal.
</SupportButton>
</ContentHeader>
<ServicesTable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ export const StatusPageActionsMenu = ({
<MenuItem key="details" onClick={handleCloseMenu}>
<Typography variant="inherit" noWrap>
<Link to={ilertApi.getStatusPageDetailsURL(statusPage)}>
View in iLert
View in ilert
</Link>
</Typography>
</MenuItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ export const StatusPagesPage = () => {
<Content>
<ContentHeader title="Status pages">
<SupportButton>
This helps you to bring iLert into your developer portal.
This helps you to bring ilert into your developer portal.
</SupportButton>
</ContentHeader>
<StatusPagesTable
Expand Down
Loading