@pagerduty/backstage-plugin 0.16.0 → 0.16.2-alpha.0

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/README.md CHANGED
@@ -1,36 +1,349 @@
1
- # PagerDuty Backstage Plugin
1
+ # Backstage/Portal + PagerDuty Benefits
2
2
 
3
- > The PagerDuty plugin reduces the cognitive load on developers responsible for maintaining services in production.
4
- Instead of having to go to PagerDuty's console, you can now access the necessary information directly within Backstage.
5
- This includes finding active incidents or opening a new incident, reviewing recent changes made to the service,
6
- and checking who is on-call.
3
+ - Display relevant PagerDuty information about an entity within Backstage or Portal, such as active incidents or recent changes.
4
+ - Quickly check who is on call for a service.
5
+ - Trigger an incident to the current on-call responder(s) for a service.
6
+ - Easily map PagerDuty Services to Backstage or Portal entities.
7
+ - Map service dependencies with either Backstage/Portal or PagerDuty as the source of truth.
7
8
 
8
- ## New Frontend System (NFS)
9
+ # Requirements
9
10
 
10
- This frontend plugin is starting the adoption of the [New Frontend System](https://backstage.io/docs/frontend-system/). This allow us to be present in Portal and keep up to date with Backstage's recommended best practices.
11
+ ## To Configure the Integration
11
12
 
12
- ### Migration
13
+ **In Backstage**
13
14
 
14
- We're still migrating to the NFS, since it is still in alpha. You can find this version of the plugin on the export `@pagerduty/backstage-plugin/alpha`, which allows you to start using it even in Backstage under the new `createApp` helper from `@backstage/frontend-defaults`.
15
+ - Administrator access to install new plugins
16
+ **In PagerDuty**
17
+ - Account owner or global admin access to install new integrations
15
18
 
16
- ### Extensions
19
+ ## To Use the Integration
17
20
 
18
- The NFS allows for extendable plugins, which means there are parts of it that users can replace to elevate their experience. We've historically exported two components the `EntityPagerDutyCard` and the `EntityPagerDutySmallCard` to expose some PagerDuty's service information on your Backstage entities. In the NFS, we default to `EntityPagerDutyCard` as an entity card extension, which means you can still make use of the `EntityPagerDutySmallCard` through overrides.
21
+ Access to the Backstage or Portal instance
19
22
 
20
- ```javascript
21
- import PagerDutyPlugin from '@pagerduty/backstage-plugin/alpha';
22
- import { EntityPagerDutySmallCard } from '@pagerduty/backstage-plugin';
23
+ # How it Works
23
24
 
24
- const OverriddenPagerDutyPlugin = PagerDutyPlugin.withOverrides({
25
- extensions: [
26
- PagerDutyPlugin.getExtension('entity-card:pagerduty/EntityPagerDutyCard').override({
27
- factory: originalFactory =>
28
- originalFactory({
29
- params: {
30
- loader: async () => Promise.resolve(<EntityPagerDutySmallCard />)
31
- }
32
- })
33
- })
34
- ]
35
- })
25
+ - Services are mapped between Backstage/Portal and PagerDuty.
26
+ - Information related to your PagerDuty services are available within Backstage/Portal.
27
+ - Data syncs automatically run on regular intervals to ensure mapped data is kept up to date.
28
+
29
+ # Version
30
+
31
+ There are two versions of the plugin:
32
+
33
+ - **Backstage**: Open source plugin.
34
+ - **Portal**: Paid/hosted version of Backstage.
35
+
36
+ # Integration Walkthrough
37
+
38
+ ## In PagerDuty
39
+
40
+ 1. From the top menu, navigate to **Integrations** :fa-arrow-right: **Developer Tools** :fa-arrow-right: **App Registration**.
41
+
42
+ 2. Click **New App** and perform the following:
43
+ 1. **Name**: Enter a name for the app.
44
+ 2. **Description**: Enter a description for the app.
45
+ 3. **OAuth 2.0**: Check the OAuth 2.0 check-box.
46
+ 4. Click **Next**.
47
+ 5. On the next screen, select **Scoped OAuth** as the preferred authorization mechanism.
48
+ 6. In the **Permission Scope** section we recommend selecting the following permissions to ensure that the plugin works as expected: 1. `abilities.read` (Used in scaffolder only) 2. `Analytics.read` 3. `Escalation_policies.read` 4. `Incidents.read` 5. `Oncalls.read` 6. `Schedules.read` 7. `Services.read` 8. `services.write` (Used in scaffolder only) 9. `Standards.read` 10. `Teams.read` 11. `Users.read` 12. `vendors.read` (Used in scaffolder only)
49
+
50
+ > 🚧 Warning
51
+ >
52
+ > You don't have to assign all the above permissions to your application, but not doing so might prevent the plugin from running as expected, and you might see errors on the PagerDuty card. 6. Once you’ve selected permissions scopes, click **Register App**. 7. Copy the **Client ID** and **Client Secret** and store them somewhere safe. You will use them later when configuring Backstage.
53
+
54
+ ## Install the PagerDuty Plugin
55
+
56
+ You can install the PagerDuty plugin in Backstage or in Portal using instructions in the following sections:
57
+
58
+ - [In Backstage](#in-backstage)
59
+ - [In Portal](#in-portal)
60
+
61
+ ## In Portal
62
+
63
+ To make the plugin visible on your Portal instance, you will need to install it first. The way this works in Portal is that it references the name of the plugin package, and Portal will manage it for you - it will install the latest version and refer to related plugins.
64
+ Our main plugin is `@pagerduty/backstage-plugin`. By including this one, you will have `@pagerduty/backstage-plugin-backend` presented for installation too.
65
+ To install in Portal:
66
+
67
+ Navigate to**Plugins** :fa-arrow-right: **Install Plugin**.
68
+
69
+ Add `@pagerduty/backstage-plugin` to the **Package Name** input.
70
+
71
+ 3. There are two other plugins (backend modules) necessary to have the full suite of features exposed by `@pagerduty/backstage-plugin`:
72
+ `@pagerduty/backstage-plugin-entity-processor`
73
+ `@pagerduty/backstage-plugin-scaffolder-actions`
74
+
75
+ 4. To add theseon the **Plugins** page, click **Add Another button** twice, and include the above packages.
76
+
77
+ After you’ve completed installation you should now be able to see the PagerDuty plugin on the **Plugins** page.
78
+
79
+ To activate the backend module plugins, you need to navigate to the plugins being extended and activate them one by one:
80
+ **Plugins** :fa-arrow-right: **Catalog (View)** :fa-arrow-right: **Modules** :fa-arrow-right: `@pagerduty/backstage-plugin-entity-processor` (Manage Module) :fa-arrow-right: **Start Module**
81
+ **Plugins** :fa-arrow-right: **Scaffolder (View)** :fa-arrow-right: **Modules** :fa-arrow-right: `@pagerduty/backstage-plugin-scaffolder-actions` (Manage Module) :fa-arrow-right: **Start Module**
82
+ Now everything should be installed and ready to configure.
83
+
84
+ The most important part of the configuration is the OAuth section, where you should input the information collected in the previous step:
85
+ `clientId`: Private application client ID
86
+ `clientSecret`: Private application client Secret
87
+ `subDomain`: Your account’s subdomain name on `<name>.pagerduty.com`
88
+ `region`: Your account’s [service region](https://support.pagerduty.com/main/docs/service-regions) (US and EU are the available regions). Defaults to US, if none is provided.
89
+
90
+ ## In Backstage
91
+
92
+ To install the PagerDuty plugin in Backstage, run the following commands from your Backstage root directory:
93
+
94
+ ```
95
+ yarn --cwd packages/app add @pagerduty/backstage-plugin
96
+ yarn --cwd packages/backend add @pagerduty/backstage-plugin-backend
97
+ ```
98
+
99
+ Once complete, you will then add the plugin to Backstage and your services.
100
+
101
+ ### Add the Frontend Plugin to Your Application
102
+
103
+ You will need to add the frontend plugin to your application, and currently that requires some code changes to the Backstage application. You can do that by updating the `EntityPage.tsx` file in packages/app/src/components/catalog.
104
+ Add the following imports to the top of the file:
105
+
106
+ ```
107
+ import {
108
+ isPluginApplicableToEntity as isPagerDutyAvailable,
109
+ EntityPagerDutyCard,
110
+ } from '@pagerduty/backstage-plugin';
111
+ ```
112
+
113
+ Find `const overviewContent` in `EntityPage.tsx`, and add the following snippet inside the outermost Grid defined there, just before the closing </Grid> tag:
114
+
115
+ ```
116
+ <EntitySwitch>
117
+ <EntitySwitch.Case if={isPagerDutyAvailable}>
118
+ <Grid item md={6}>
119
+ <EntityPagerDutyCard />
120
+ </Grid>
121
+ </EntitySwitch.Case>
122
+ </EntitySwitch>
123
+ ```
124
+
125
+ Once you are done, the `overviewContent` definition should look similar to this:
126
+
127
+ ```
128
+ const overviewContent = (
129
+ <Grid ...>
130
+ ...
131
+ <EntitySwitch>
132
+ <EntitySwitch.Case if={isPagerDutyAvailable}>
133
+ <Grid item md={6}>
134
+ <EntityPagerDutyCard />
135
+ </Grid>
136
+ </EntitySwitch.Case>
137
+ </EntitySwitch>
138
+ </Grid>
139
+ );
140
+ ```
141
+
142
+ Now the PagerDuty plugin will display in all your components that include PagerDuty annotations.
143
+
144
+ > 📘 Note
145
+ >
146
+ > The code samples provided above reflect the default configuration of the PagerDutyCard entity. You have at your disposal some parameters that allow you to [prevent users from creating incidents](https://pagerduty.github.io/backstage-plugin-docs/advanced/enable-read-only-mode), or [hide the change events tab](https://pagerduty.github.io/backstage-plugin-docs/advanced/hide-change-events) or even [hide the on-call](https://pagerduty.github.io/backstage-plugin-docs/advanced/hide-oncall) section of the card.
147
+
148
+ > 🚨 Important
149
+ >
150
+ > From version 0.16.0 and later, you need to import the Backstage UI CSS at the root (`src/index.tsx`) of
151
+ your backstage application (`import '@backstage/ui/css/styles.css'`), otherwise the Plugin
152
+ widgets won't look as they should.
153
+
154
+ ### Configure the Frontend plugin
155
+
156
+ You’ve now added the PagerDuty frontend plugin to your application, but in order for it to show up you will need to configure your entities and the application itself.
157
+
158
+ #### Annotating Entities
159
+
160
+ For every component that shows up in your Backstage catalog, you have a .yaml file with its configuration. Add an annotation to the entity like this:
161
+
162
+ ```
163
+ annotations:
164
+ pagerduty.com/service-id: [SERVICE-ID]
165
+ ```
166
+
167
+ By default, if you only specify the `pagerduty.com/service-id` annotation, the PagerDutyCard component will disable the **Create Incident** button. But if you are using one of the latest versions (@pagerduty/backstage-plugin-backend:0.9.0 or higher) there is a mechanism to automatically create an integration in your PagerDuty services and add a `pagerduty.com/integration-key` annotation to the corresponding Backstage entity. This enables the option to create incidents from the PagerDutyCard.
168
+ You can optionally decide to annotate with an `integration-key` instead.The plugin will get the corresponding `service-id` and add it as an annotation, but since it requires more steps we recommend that you annotate with `pagerduty.com/service-id`.
169
+
170
+ > 📘 Note
171
+
172
+ > If you’re using multiple PagerDuty accounts in your setup, you should add an account annotation to your Backstage entities. This way the plugin knows with which instance to communicate with. If you don't provide one, the account that you selected as default will be used.
173
+ > annotations:
174
+ > pagerduty.com/account: [PAGERDUTY-ACCOUNT]
175
+
176
+ ### Add the backend plugin to your application
177
+
178
+ > 📘 Note
179
+ >
180
+ > Version 0.6.0 of the backend plugin (@pagerduty/backstage-plugin-backend) introduced support for Backstage's [new backend system](https://backstage.io/docs/backend-system/) which simplifies the backend configuration and requires less code.
181
+ > Once you’ve completed steps in [Installing the Plugin](#installing-the-plugin), you’ve added the PagerDuty backend plugin to your application. That said, in order for it to expose its capabilities to the frontend plugin, you need to configure it. There are two approaches for configuration:
182
+
183
+ - Legacy Backend System
184
+ - New Backend System.
185
+ > 🚧 Warning
186
+ >
187
+ > If you were using the PagerDuty plugin for Backstage before the release of @pagerduty/backstage-plugin-backend@0.6.0, then you already have the Backend configured. In this case, please see our [migration guidance](https://pagerduty.github.io/backstage-plugin-docs/advanced/backend-system-migration) instead of following steps below.
188
+
189
+ #### Legacy Backend System
190
+
191
+ Create a new file called `pagerduty.ts` at `packages/backend/src/plugins/pagerduty.ts` and add the following content:
192
+
193
+ ```
194
+ import { Router } from 'express';
195
+ import { PluginEnvironment } from '../types';
196
+ import { createRouter } from '@pagerduty/backstage-plugin-backend';
197
+ export default async function createPlugin(
198
+ env: PluginEnvironment,
199
+ ): Promise<Router> {
200
+ return await createRouter({
201
+ config: env.config,
202
+ logger: env.logger,
203
+ });
204
+ }
205
+ ```
206
+
207
+ This creates the backend plugin that you can now configure in your application.
208
+ In `packages/backend/src/index.ts`, import your plugin and add a route for the APIs exposed by PagerDuty's backend plugin.
209
+
210
+ ```
211
+ import pagerduty from './plugins/pagerduty';
212
+ // ...
213
+ async function main() {
214
+ // …
215
+ const pagerdutyEnv = useHotMemoize(module, () => createEnv('pagerduty'));
216
+ // ...
217
+ apiRouter.use('/pagerduty', await pagerduty(pagerdutyEnv));
218
+ ```
219
+
220
+ #### New Backend System
221
+
222
+ Backstage's new backend system requires less code to set up plugins. Just open the `packages/backend/src/index.ts` file and add the PagerDuty backend plugin to your Backstage App as shown below.
223
+
224
+ ```
225
+ // pageduty plugin
226
+ backend.add(import('@pagerduty/backstage-plugin-backend'));
227
+ ```
228
+
229
+ ### Configure API Authorization
230
+
231
+ The PagerDuty plugin requires access to PagerDuty APIs, so you’ll need to configure our Backstage app with the necessary credentials to reach them. This step requires using an access token, for OAuth, or an API token.
232
+
233
+ > 📘 Note
234
+ > If you don’t already have this information, please follow previous steps to [Register an App](#in-pagerduty) to get the client id and client secret for OAuth authorization, or [Generate a General Access REST API Token](https://support.pagerduty.com/main/docs/api-access-keys#generate-a-general-access-rest-api-key) to generate a REST API Token.
235
+
236
+ #### Single PagerDuty Account
237
+
238
+ If all your services exist in a single PagerDuty account, you should follow the instructions below.
239
+
240
+ **Scoped OAuth (recommended)**
241
+ In the `app-config.yaml` file, add the following configuration and set your OAuth configuration:
242
+
243
+ ```
244
+ pagerDuty:
245
+ oauth:
246
+ clientId: ${PD_CLIENT_ID}
247
+ clientSecret: ${PD_CLIENT_SECRET}
248
+ subDomain: ${PD_ACCOUNT_SUBDOMAIN}
249
+ region: ${PD_ACCOUNT_REGION} // Optional.
250
+ // Allowed values: 'us', 'eu'.
251
+ // Defaults to 'us'.
252
+ ```
253
+
254
+ > 📘 Note
255
+ > The `subDomain` property only requiresthe first segment of your PagerDuty account URL. **Example**: If your PagerDuty account URL is `https://myaccount.pagerduty.com` then your `subDomain` value should be `myaccount`.
256
+ > Configuring it with an invalid value might cause authentication to fail.
257
+
258
+ **REST API Token**
259
+ In the `app-config.yaml` file add the following configuration to set your REST API Token:
260
+
261
+ ```
262
+ pagerDuty:
263
+ apiToken: ${PAGERDUTY_TOKEN}
264
+ ```
265
+
266
+ > 🚧 Warning
267
+
268
+ > If you were using the plugin before version 0.8.1 of the frontend or version 0.3.1 of the backend, you need to configure a proxy configuration instead. That configuration is now deprecated, so use the above configuration instead.
269
+
270
+ #### Multiple PagerDuty Accounts
271
+
272
+ If your organization has multiple PagerDuty accounts, we added multi-account support on version 0.14.0 of the frontend plugin (@pagerduty/backstage-plugin). In order to configure it, you should follow the steps below.
273
+
274
+ **Scoped OAuth (recommended)**
275
+ In the `app-config.yaml` file, add the following configuration and set your OAuth configuration:
276
+
277
+ ```
278
+ pagerDuty:
279
+ accounts:
280
+ - id: ${PD_ACCOUNT_SUBDOMAIN_1} // The ID must be the subdomain for the account
281
+ isDefault: true // Only one account can be defined as the default/fallback
282
+ apiBaseUrl: ${PD_API_BASE_URL_1}
283
+ oauth:
284
+ clientId: ${PD_CLIENT_ID_1}
285
+ clientSecret: ${PD_CLIENT_SECRET_1}
286
+ subDomain: ${PD_ACCOUNT_SUBDOMAIN_1}
287
+ region: ${PD_ACCOUNT_REGION_1} // Optional. allowed values: 'us', 'eu'.
288
+ // Defaults to 'us'.
289
+ - id: ${PD_ACCOUNT_SUBDOMAIN_2}
290
+ apiBaseUrl: ${PD_API_BASE_URL_2}
291
+ oauth:
292
+ clientId: ${PD_CLIENT_ID_2}
293
+ clientSecret: ${PD_CLIENT_SECRET_2}
294
+ subDomain: ${PD_ACCOUNT_SUBDOMAIN_2}
295
+ ```
296
+
297
+ > 📘 Note
298
+ > The `subDomain` property requires only the first segment of your PagerDuty account URL. **Example**: If your PagerDuty account URL is `https://myaccount.pagerduty.com` then your `subDomain` value should be `myaccount`.
299
+ > Configuring it with an invalid value might cause authentication to fail.
300
+
301
+ **REST API Token**
302
+ In the `app-config.yaml` file, add the following configuration to set your REST API Token:
303
+
304
+ ```
305
+ pagerDuty:
306
+ accounts:
307
+ - id: ${PD_ACCOUNT_SUBDOMAIN_1} // The ID must be the subdomain for the account
308
+ isDefault: true // Only one account can be defined as the default/fallback
309
+ apiBaseUrl: ${PD_API_BASE_URL_1}
310
+ apiToken: ${PAGERDUTY_TOKEN}
311
+ - id: ${PD_ACCOUNT_SUBDOMAIN_2}
312
+ apiToken: ${PAGERDUTY_TOKEN}
313
+ ```
314
+
315
+ > 📘 Note
316
+ >
317
+ > In the new multi-account setup, you can configure accounts with Scoped OAuth and others with a REST API Token. You can also specify the custom API base URL and events URL for some and not others. All optional properties will revert to default values if not present.
318
+
319
+ ### Test Your Configuration
320
+
321
+ Start your Backstage app, passing the PagerDuty API token or OAuth parameters as environment variables.
322
+
323
+ **For Scoped OAuth**
324
+
325
+ ```
326
+ PD_CLIENT_ID='<ID>' PD_CLIENT_SECRET='<SECRET>' PD_ACCOUNT_SUBDOMAIN='<SUBDOMAIN>' PD_ACCOUNT_REGION='<REGION>' yarn dev
36
327
  ```
328
+
329
+ **For REST API Token**
330
+
331
+ `PAGERDUTY_TOKEN='<TOKEN>' yarn dev`
332
+ This will add an Authorization header to all requests made to PagerDuty REST APIs.
333
+
334
+ # Multi-Account Support
335
+
336
+ The PagerDuty plugin for Backstage is prepared for multi-account. If that’s how you want to operate, instead of filling the OAuth section, instead create new items in the **Accounts** section by clicking **Add Items**. This allows you to set up multiple client credentials for each of your accounts (you need to create an OAuth private application for each account). Be mindful that providing only one account makes it the default.
337
+
338
+ # Backstage User Guide
339
+
340
+ Go to your Backstage or Portal account to view the integrated PagerDuty experience which is present as part of a PagerDuty page within your instance as well as on a PagerDuty card on the Backstage entity page for your services.
341
+
342
+ # Uninstall the Backstage Integration
343
+
344
+ In PagerDuty, navigate to **Integrations** :fa-arrow-right: **Developer Tools** :fa-arrow-right: **App Registration**.
345
+ To the right of the app that you’re using power the Backstage or Portal integration, click the :fa-ellipsis-h: overflow menu and select **Delete**. In the confirmation modal that appears, click **Delete** again to confirm.
346
+
347
+ # Getting help
348
+
349
+ PagerDuty plugin for Backstage is an open source project maintained by PagerDuty. PagerDuty employees and the Backstage community contribute based on their availability. If you encounter an issue or have a feature request, please file an issue here: https://github.com/PagerDuty/backstage-plugins/issues/new.
@@ -5,7 +5,6 @@ import { pagerDutyPage } from './pages.esm.js';
5
5
  import { pagerDutyNavBarItem } from './nav-items.esm.js';
6
6
  import { convertLegacyRouteRefs } from '@backstage/core-compat-api';
7
7
  import { rootRouteRef } from '../routes.esm.js';
8
- import '@backstage/ui/css/styles.css';
9
8
 
10
9
  const pagerDutyPlugin = createFrontendPlugin({
11
10
  pluginId: "pagerduty",
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.esm.js","sources":["../../src/alpha/plugin.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFrontendPlugin } from \"@backstage/frontend-plugin-api\";\nimport { pagerDutyEntityCard, pagerDutyEntitySmallCard } from \"../alpha/entity-cards\";\nimport { pagerDutyApi } from \"../alpha/api\";\nimport { pagerDutyPage } from \"../alpha/pages\";\nimport { pagerDutyNavBarItem } from \"../alpha/nav-items\";\nimport { convertLegacyRouteRefs } from \"@backstage/core-compat-api\";\nimport { rootRouteRef } from \"../routes\";\nimport '@backstage/ui/css/styles.css';\n\n/** @alpha */\nexport const pagerDutyPlugin = createFrontendPlugin({\n pluginId: 'pagerduty',\n info: { packageJson: () => import('../../package.json')},\n extensions: [\n pagerDutyEntityCard,\n pagerDutyEntitySmallCard,\n pagerDutyApi,\n pagerDutyPage,\n pagerDutyNavBarItem\n ],\n routes: convertLegacyRouteRefs({\n root: rootRouteRef\n })\n});\n"],"names":[],"mappings":";;;;;;;;;AA0BO,MAAM,kBAAkB,oBAAA,CAAqB;AAAA,EAClD,QAAA,EAAU,WAAA;AAAA,EACV,MAAM,EAAE,WAAA,EAAa,MAAM,OAAO,wBAAoB,CAAA,EAAC;AAAA,EACvD,UAAA,EAAY;AAAA,IACV,mBAAA;AAAA,IACA,wBAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAQ,sBAAA,CAAuB;AAAA,IAC7B,IAAA,EAAM;AAAA,GACP;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"plugin.esm.js","sources":["../../src/alpha/plugin.ts"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFrontendPlugin } from \"@backstage/frontend-plugin-api\";\nimport { pagerDutyEntityCard, pagerDutyEntitySmallCard } from \"../alpha/entity-cards\";\nimport { pagerDutyApi } from \"../alpha/api\";\nimport { pagerDutyPage } from \"../alpha/pages\";\nimport { pagerDutyNavBarItem } from \"../alpha/nav-items\";\nimport { convertLegacyRouteRefs } from \"@backstage/core-compat-api\";\nimport { rootRouteRef } from \"../routes\";\n\n/** @alpha */\nexport const pagerDutyPlugin = createFrontendPlugin({\n pluginId: 'pagerduty',\n info: { packageJson: () => import('../../package.json')},\n extensions: [\n pagerDutyEntityCard,\n pagerDutyEntitySmallCard,\n pagerDutyApi,\n pagerDutyPage,\n pagerDutyNavBarItem\n ],\n routes: convertLegacyRouteRefs({\n root: rootRouteRef\n })\n});\n"],"names":[],"mappings":";;;;;;;;AAyBO,MAAM,kBAAkB,oBAAA,CAAqB;AAAA,EAClD,QAAA,EAAU,WAAA;AAAA,EACV,MAAM,EAAE,WAAA,EAAa,MAAM,OAAO,wBAAoB,CAAA,EAAC;AAAA,EACvD,UAAA,EAAY;AAAA,IACV,mBAAA;AAAA,IACA,wBAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAQ,sBAAA,CAAuB;AAAA,IAC7B,IAAA,EAAM;AAAA,GACP;AACH,CAAC;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pagerduty/backstage-plugin",
3
3
  "description": "A Backstage plugin that integrates towards PagerDuty",
4
- "version": "0.16.0",
4
+ "version": "0.16.2-alpha.0",
5
5
  "main": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "license": "Apache-2.0",