@pagerduty/backstage-plugin-common 0.2.6 → 0.3.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @pagerduty/backstage-plugin-common
2
2
 
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ae2a9c3: Refactor the service mappings screen and add an auto-matching functionality to mass map PagerDuty service to Backstage entities
8
+
3
9
  ## 0.2.6
4
10
 
5
11
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -90,6 +90,15 @@ type PagerDutyTeam = {
90
90
  self?: string;
91
91
  html_url?: string;
92
92
  name: string;
93
+ account?: string;
94
+ };
95
+ /** @public */
96
+ type PagerDutyTeamsResponse = {
97
+ teams: PagerDutyTeam[];
98
+ more?: boolean;
99
+ limit?: number;
100
+ offset?: number;
101
+ total?: number;
93
102
  };
94
103
  /** @public */
95
104
  type PagerDutyOnCall = {
@@ -224,6 +233,7 @@ type PagerDutyOAuthConfig = {
224
233
  clientSecret: string;
225
234
  region?: string;
226
235
  subDomain: string;
236
+ identityUrl?: string;
227
237
  };
228
238
  /** @public */
229
239
  type PagerDutyAccountConfig = {
@@ -253,6 +263,31 @@ type PagerDutyEntityMappingsResponse = {
253
263
  mappings: PagerDutyEntityMapping[];
254
264
  };
255
265
  /** @public */
266
+ type FormattedBackstageEntity = {
267
+ name: string;
268
+ id: string;
269
+ namespace: string;
270
+ type: string;
271
+ system: string;
272
+ owner: string;
273
+ lifecycle: string;
274
+ annotations: {
275
+ 'pagerduty.com/integration-key': string;
276
+ 'pagerduty.com/service-id': string;
277
+ };
278
+ serviceName?: string;
279
+ serviceUrl?: string;
280
+ team?: string;
281
+ escalationPolicy?: string;
282
+ status?: 'NotMapped' | 'InSync' | 'OutOfSync' | 'ErrorWhenFetchingService';
283
+ account?: string;
284
+ };
285
+ /** @public */
286
+ type PagerDutyEnhancedEntityMappingsResponse = {
287
+ entities: FormattedBackstageEntity[];
288
+ totalCount: number;
289
+ };
290
+ /** @public */
256
291
  type PagerDutyEntityMappingResponse = {
257
292
  mapping: PagerDutyEntityMapping;
258
293
  };
@@ -281,6 +316,54 @@ type PagerDutySetting = {
281
316
  type PagerDutySettings = {
282
317
  settings: PagerDutySetting[];
283
318
  };
319
+ /** @public */
320
+ type AutoMatchScoreBreakdown = {
321
+ baseScore: number;
322
+ exactMatch: boolean;
323
+ teamMatch: boolean;
324
+ acronymMatch: boolean;
325
+ rawScore: number;
326
+ };
327
+ /** @public */
328
+ type AutoMatchPagerDutyService = {
329
+ serviceId: string;
330
+ name: string;
331
+ team: string;
332
+ account?: string;
333
+ };
334
+ /** @public */
335
+ type AutoMatchBackstageComponent = {
336
+ entityRef: string;
337
+ name: string;
338
+ owner: string;
339
+ };
340
+ /** @public */
341
+ type AutoMatchEntityMapping = {
342
+ pagerDutyService: AutoMatchPagerDutyService;
343
+ backstageComponent: AutoMatchBackstageComponent;
344
+ score: number;
345
+ confidence: string;
346
+ scoreBreakdown: AutoMatchScoreBreakdown;
347
+ };
348
+ /** @public */
349
+ type AutoMatchStatistics = {
350
+ totalPagerDutyServices: number;
351
+ totalBackstageComponents: number;
352
+ totalPossibleComparisons: number;
353
+ matchesFound: number;
354
+ exactMatches: number;
355
+ highConfidenceMatches: number;
356
+ mediumConfidenceMatches: number;
357
+ threshold: number;
358
+ loadTimeMs: number;
359
+ matchTimeMs: number;
360
+ totalTimeMs: number;
361
+ };
362
+ /** @public */
363
+ type AutoMatchEntityMappingsResponse = {
364
+ matches: AutoMatchEntityMapping[];
365
+ statistics: AutoMatchStatistics;
366
+ };
284
367
 
285
368
  /** @public */
286
369
  declare const PAGERDUTY_INTEGRATION_KEY = "pagerduty.com/integration-key";
@@ -288,4 +371,4 @@ declare const PAGERDUTY_INTEGRATION_KEY = "pagerduty.com/integration-key";
288
371
  declare const PAGERDUTY_SERVICE_ID = "pagerduty.com/service-id";
289
372
 
290
373
  export { HttpError, PAGERDUTY_INTEGRATION_KEY, PAGERDUTY_SERVICE_ID };
291
- export type { PagerDutyAbilitiesResponse, PagerDutyAccountConfig, PagerDutyChangeEvent, PagerDutyChangeEventsResponse, PagerDutyEntityMapping, PagerDutyEntityMappingResponse, PagerDutyEntityMappingsResponse, PagerDutyEscalationPoliciesResponse, PagerDutyEscalationPolicy, PagerDutyIncident, PagerDutyIncidentUrgencyRule, PagerDutyIncidentsResponse, PagerDutyIntegration, PagerDutyIntegrationResponse, PagerDutyOAuthConfig, PagerDutyOnCall, PagerDutyOnCallUsersResponse, PagerDutyOnCallsResponse, PagerDutyService, PagerDutyServiceDependency, PagerDutyServiceDependencyReference, PagerDutyServiceDependencyResponse, PagerDutyServiceMetrics, PagerDutyServiceMetricsResponse, PagerDutyServiceResponse, PagerDutyServiceStandard, PagerDutyServiceStandards, PagerDutyServiceStandardsResponse, PagerDutyServicesAPIResponse, PagerDutyServicesResponse, PagerDutySetting, PagerDutySettings, PagerDutyTeam, PagerDutyUser, PagerDutyVendor };
374
+ export type { AutoMatchBackstageComponent, AutoMatchEntityMapping, AutoMatchEntityMappingsResponse, AutoMatchPagerDutyService, AutoMatchScoreBreakdown, AutoMatchStatistics, FormattedBackstageEntity, PagerDutyAbilitiesResponse, PagerDutyAccountConfig, PagerDutyChangeEvent, PagerDutyChangeEventsResponse, PagerDutyEnhancedEntityMappingsResponse, PagerDutyEntityMapping, PagerDutyEntityMappingResponse, PagerDutyEntityMappingsResponse, PagerDutyEscalationPoliciesResponse, PagerDutyEscalationPolicy, PagerDutyIncident, PagerDutyIncidentUrgencyRule, PagerDutyIncidentsResponse, PagerDutyIntegration, PagerDutyIntegrationResponse, PagerDutyOAuthConfig, PagerDutyOnCall, PagerDutyOnCallUsersResponse, PagerDutyOnCallsResponse, PagerDutyService, PagerDutyServiceDependency, PagerDutyServiceDependencyReference, PagerDutyServiceDependencyResponse, PagerDutyServiceMetrics, PagerDutyServiceMetricsResponse, PagerDutyServiceResponse, PagerDutyServiceStandard, PagerDutyServiceStandards, PagerDutyServiceStandardsResponse, PagerDutyServicesAPIResponse, PagerDutyServicesResponse, PagerDutySetting, PagerDutySettings, PagerDutyTeam, PagerDutyTeamsResponse, PagerDutyUser, PagerDutyVendor };
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs.js","sources":["../src/types.ts"],"sourcesContent":["/** @public */\nexport type PagerDutyIncident = {\n id: string;\n title: string;\n status: string;\n html_url: string;\n assignments: [\n {\n assignee: PagerDutyUser;\n },\n ];\n service: PagerDutyService;\n created_at: string;\n urgency?: string;\n};\n\n/** @public */\nexport type PagerDutyUser = {\n id: string;\n summary: string;\n email: string;\n html_url: string;\n name: string;\n avatar_url: string;\n};\n\n/** @public */\nexport type PagerDutyChangeEvent = {\n id: string;\n integration: PagerDutyIntegration[];\n source: string;\n html_url?: string;\n links: [\n {\n href: string;\n text: string;\n },\n ];\n summary: string;\n timestamp: string;\n};\n\n/** @public */\nexport type PagerDutyService = {\n id: string;\n name: string;\n description?: string;\n escalation_policy: PagerDutyEscalationPolicy;\n alert_creation?: string;\n incident_urgency_rule?: PagerDutyIncidentUrgencyRule;\n integrations?: PagerDutyIntegration[];\n teams?: PagerDutyTeam[];\n status?: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyEscalationPolicy = {\n id: string;\n name: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyIncidentUrgencyRule = {\n type: string;\n urgency: string;\n};\n\n/** @public */\nexport type PagerDutyIntegration = {\n id: string;\n type: string;\n summary?: string;\n self?: string;\n html_url?: string;\n name?: string;\n service?: PagerDutyService;\n created_at?: string;\n vendor?: PagerDutyVendor;\n integration_key?: string;\n};\n\n/** @public */\nexport type PagerDutyTeam = {\n id: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n name: string;\n};\n\n/** @public */\nexport type PagerDutyOnCall = {\n user: PagerDutyUser;\n escalation_level: number;\n};\n\n/** @public */\nexport type PagerDutyOnCallUsersResponse = {\n users: PagerDutyUser[];\n};\n\n/** @public */\nexport type PagerDutyVendor = {\n id: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n};\n\n/** @public */\nexport type PagerDutyServiceStandards = {\n resource_id: string;\n resource_type: string;\n score: {\n passing: number;\n total: number;\n };\n standards: PagerDutyServiceStandard[];\n};\n\n/** @public */\nexport type PagerDutyServiceStandard = {\n active: boolean;\n description: string;\n id: string;\n name: string;\n pass: boolean;\n type: string;\n};\n\n/** @public */\nexport type PagerDutyServiceStandardsResponse = {\n standards: PagerDutyServiceStandards;\n};\n\n/** @public */\nexport type PagerDutyServiceMetrics = {\n mean_assignment_count?: number;\n mean_engaged_seconds?: number;\n mean_engaged_user_count?: number;\n mean_seconds_to_engage?: number;\n mean_seconds_to_first_ack?: number;\n mean_seconds_to_mobilize?: number;\n mean_seconds_to_resolve?: number;\n mean_user_defined_engaged_seconds?: number;\n service_id: string;\n service_name?: string;\n team_id?: string;\n team_name?: string;\n total_business_hour_interruptions?: number;\n total_down_time_minutes?: number;\n total_engaged_seconds?: number;\n total_escalation_count?: number;\n total_high_urgency_incidents?: number;\n total_incident_count?: number;\n total_incidents_acknowledged?: number;\n total_incidents_auto_resolved?: number;\n total_incidents_manual_escalated?: number;\n total_incidents_reassigned?: number;\n total_incidents_timeout_escalated?: number;\n total_interruptions?: number;\n total_low_urgency_incidents?: number;\n total_major_incidents?: number;\n total_notifications?: number;\n total_off_hour_interruptions?: number;\n total_sleep_hour_interruptions?: number;\n total_snoozed_seconds?: number;\n total_user_defined_engaged_seconds?: number;\n up_time_pct?: number;\n};\n\n/** @public */\nexport type PagerDutyServiceMetricsResponse = {\n metrics: PagerDutyServiceMetrics[];\n};\n\n/** @public */\nexport type PagerDutyServicesResponse = {\n services: PagerDutyService[];\n};\n\n/** @public */\nexport type PagerDutyServicesAPIResponse = PagerDutyServicesResponse & {\n offset: number;\n limit: number;\n total: number | null;\n more: boolean;\n};\n\n/** @public */\nexport type PagerDutyServiceResponse = {\n service: PagerDutyService;\n};\n\n/** @public */\nexport type PagerDutyIncidentsResponse = {\n incidents: PagerDutyIncident[];\n};\n\n/** @public */\nexport type PagerDutyChangeEventsResponse = {\n change_events: PagerDutyChangeEvent[];\n};\n\n/** @public */\nexport type PagerDutyOnCallsResponse = {\n oncalls: PagerDutyOnCall[];\n};\n\n/** @public */\nexport type PagerDutyIntegrationResponse = {\n integration: PagerDutyIntegration;\n};\n\n/** @public */\nexport type PagerDutyEscalationPoliciesResponse = {\n escalation_policies: PagerDutyEscalationPolicy[];\n limit?: number;\n offset?: number;\n more?: boolean;\n total?: number;\n};\n\n/** @public */\nexport type PagerDutyAbilitiesResponse = {\n abilities: string[];\n};\n\n/** @public */\nexport class HttpError extends Error {\n constructor(message: string, status: number) {\n super(message);\n this.status = status;\n }\n\n status: number;\n}\n\n/** @public */\nexport type PagerDutyOAuthConfig = {\n clientId: string;\n clientSecret: string;\n region?: string;\n subDomain: string;\n};\n\n/** @public */\nexport type PagerDutyAccountConfig = {\n id: string;\n isDefault?: boolean;\n eventsBaseUrl?: string;\n apiBaseUrl?: string;\n apiToken?: string;\n oauth?: PagerDutyOAuthConfig;\n};\n\n/** @public */\nexport type PagerDutyEntityMapping = {\n entityRef: string;\n entityName?: string;\n serviceId: string;\n serviceName?: string;\n integrationKey?: string;\n serviceUrl?: string;\n status?: 'NotMapped' | 'InSync' | 'OutOfSync';\n processedDate?: Date;\n team?: string;\n escalationPolicy?: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyEntityMappingsResponse = {\n mappings: PagerDutyEntityMapping[];\n};\n\n/** @public */\nexport type PagerDutyEntityMappingResponse = {\n mapping: PagerDutyEntityMapping;\n};\n\n/** @public */\nexport type PagerDutyServiceDependencyReference = {\n id: string;\n type: string;\n};\n\n/** @public */\nexport type PagerDutyServiceDependency = {\n id?: string;\n type?: string;\n supporting_service: PagerDutyServiceDependencyReference;\n dependent_service: PagerDutyServiceDependencyReference;\n};\n\n/** @public */\nexport type PagerDutyServiceDependencyResponse = {\n relationships: PagerDutyServiceDependency[];\n};\n\n/** @public */\nexport type PagerDutySetting = {\n id: string;\n value: 'backstage' | 'pagerduty' | 'both' | 'disabled';\n};\n\n/** @public */\nexport type PagerDutySettings = {\n settings: PagerDutySetting[];\n};\n"],"names":[],"mappings":";;AAiPO,MAAM,kBAAkB,KAAA,CAAM;AAAA,EACnC,WAAA,CAAY,SAAiB,MAAA,EAAgB;AAC3C,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAChB;AAAA,EAEA,MAAA;AACF;;;;"}
1
+ {"version":3,"file":"types.cjs.js","sources":["../src/types.ts"],"sourcesContent":["/** @public */\nexport type PagerDutyIncident = {\n id: string;\n title: string;\n status: string;\n html_url: string;\n assignments: [\n {\n assignee: PagerDutyUser;\n },\n ];\n service: PagerDutyService;\n created_at: string;\n urgency?: string;\n};\n\n/** @public */\nexport type PagerDutyUser = {\n id: string;\n summary: string;\n email: string;\n html_url: string;\n name: string;\n avatar_url: string;\n};\n\n/** @public */\nexport type PagerDutyChangeEvent = {\n id: string;\n integration: PagerDutyIntegration[];\n source: string;\n html_url?: string;\n links: [\n {\n href: string;\n text: string;\n },\n ];\n summary: string;\n timestamp: string;\n};\n\n/** @public */\nexport type PagerDutyService = {\n id: string;\n name: string;\n description?: string;\n escalation_policy: PagerDutyEscalationPolicy;\n alert_creation?: string;\n incident_urgency_rule?: PagerDutyIncidentUrgencyRule;\n integrations?: PagerDutyIntegration[];\n teams?: PagerDutyTeam[];\n status?: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyEscalationPolicy = {\n id: string;\n name: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyIncidentUrgencyRule = {\n type: string;\n urgency: string;\n};\n\n/** @public */\nexport type PagerDutyIntegration = {\n id: string;\n type: string;\n summary?: string;\n self?: string;\n html_url?: string;\n name?: string;\n service?: PagerDutyService;\n created_at?: string;\n vendor?: PagerDutyVendor;\n integration_key?: string;\n};\n\n/** @public */\nexport type PagerDutyTeam = {\n id: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n name: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyTeamsResponse = {\n teams: PagerDutyTeam[];\n more?: boolean;\n limit?: number;\n offset?: number;\n total?: number;\n};\n\n/** @public */\nexport type PagerDutyOnCall = {\n user: PagerDutyUser;\n escalation_level: number;\n};\n\n/** @public */\nexport type PagerDutyOnCallUsersResponse = {\n users: PagerDutyUser[];\n};\n\n/** @public */\nexport type PagerDutyVendor = {\n id: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n};\n\n/** @public */\nexport type PagerDutyServiceStandards = {\n resource_id: string;\n resource_type: string;\n score: {\n passing: number;\n total: number;\n };\n standards: PagerDutyServiceStandard[];\n};\n\n/** @public */\nexport type PagerDutyServiceStandard = {\n active: boolean;\n description: string;\n id: string;\n name: string;\n pass: boolean;\n type: string;\n};\n\n/** @public */\nexport type PagerDutyServiceStandardsResponse = {\n standards: PagerDutyServiceStandards;\n};\n\n/** @public */\nexport type PagerDutyServiceMetrics = {\n mean_assignment_count?: number;\n mean_engaged_seconds?: number;\n mean_engaged_user_count?: number;\n mean_seconds_to_engage?: number;\n mean_seconds_to_first_ack?: number;\n mean_seconds_to_mobilize?: number;\n mean_seconds_to_resolve?: number;\n mean_user_defined_engaged_seconds?: number;\n service_id: string;\n service_name?: string;\n team_id?: string;\n team_name?: string;\n total_business_hour_interruptions?: number;\n total_down_time_minutes?: number;\n total_engaged_seconds?: number;\n total_escalation_count?: number;\n total_high_urgency_incidents?: number;\n total_incident_count?: number;\n total_incidents_acknowledged?: number;\n total_incidents_auto_resolved?: number;\n total_incidents_manual_escalated?: number;\n total_incidents_reassigned?: number;\n total_incidents_timeout_escalated?: number;\n total_interruptions?: number;\n total_low_urgency_incidents?: number;\n total_major_incidents?: number;\n total_notifications?: number;\n total_off_hour_interruptions?: number;\n total_sleep_hour_interruptions?: number;\n total_snoozed_seconds?: number;\n total_user_defined_engaged_seconds?: number;\n up_time_pct?: number;\n};\n\n/** @public */\nexport type PagerDutyServiceMetricsResponse = {\n metrics: PagerDutyServiceMetrics[];\n};\n\n/** @public */\nexport type PagerDutyServicesResponse = {\n services: PagerDutyService[];\n};\n\n/** @public */\nexport type PagerDutyServicesAPIResponse = PagerDutyServicesResponse & {\n offset: number;\n limit: number;\n total: number | null;\n more: boolean;\n};\n\n/** @public */\nexport type PagerDutyServiceResponse = {\n service: PagerDutyService;\n};\n\n/** @public */\nexport type PagerDutyIncidentsResponse = {\n incidents: PagerDutyIncident[];\n};\n\n/** @public */\nexport type PagerDutyChangeEventsResponse = {\n change_events: PagerDutyChangeEvent[];\n};\n\n/** @public */\nexport type PagerDutyOnCallsResponse = {\n oncalls: PagerDutyOnCall[];\n};\n\n/** @public */\nexport type PagerDutyIntegrationResponse = {\n integration: PagerDutyIntegration;\n};\n\n/** @public */\nexport type PagerDutyEscalationPoliciesResponse = {\n escalation_policies: PagerDutyEscalationPolicy[];\n limit?: number;\n offset?: number;\n more?: boolean;\n total?: number;\n};\n\n/** @public */\nexport type PagerDutyAbilitiesResponse = {\n abilities: string[];\n};\n\n/** @public */\nexport class HttpError extends Error {\n constructor(message: string, status: number) {\n super(message);\n this.status = status;\n }\n\n status: number;\n}\n\n/** @public */\nexport type PagerDutyOAuthConfig = {\n clientId: string;\n clientSecret: string;\n region?: string;\n subDomain: string;\n identityUrl?: string;\n};\n\n/** @public */\nexport type PagerDutyAccountConfig = {\n id: string;\n isDefault?: boolean;\n eventsBaseUrl?: string;\n apiBaseUrl?: string;\n apiToken?: string;\n oauth?: PagerDutyOAuthConfig;\n};\n\n/** @public */\nexport type PagerDutyEntityMapping = {\n entityRef: string;\n entityName?: string;\n serviceId: string;\n serviceName?: string;\n integrationKey?: string;\n serviceUrl?: string;\n status?: 'NotMapped' | 'InSync' | 'OutOfSync';\n processedDate?: Date;\n team?: string;\n escalationPolicy?: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyEntityMappingsResponse = {\n mappings: PagerDutyEntityMapping[];\n};\n\n/** @public */\nexport type FormattedBackstageEntity = {\n name: string;\n id: string;\n namespace: string;\n type: string;\n system: string;\n owner: string;\n lifecycle: string;\n annotations: {\n 'pagerduty.com/integration-key': string;\n 'pagerduty.com/service-id': string;\n };\n // PagerDuty properties\n serviceName?: string;\n serviceUrl?: string;\n team?: string;\n escalationPolicy?: string;\n status?: 'NotMapped' | 'InSync' | 'OutOfSync' | 'ErrorWhenFetchingService';\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyEnhancedEntityMappingsResponse = {\n entities: FormattedBackstageEntity[];\n totalCount: number;\n};\n\n/** @public */\nexport type PagerDutyEntityMappingResponse = {\n mapping: PagerDutyEntityMapping;\n};\n\n/** @public */\nexport type PagerDutyServiceDependencyReference = {\n id: string;\n type: string;\n};\n\n/** @public */\nexport type PagerDutyServiceDependency = {\n id?: string;\n type?: string;\n supporting_service: PagerDutyServiceDependencyReference;\n dependent_service: PagerDutyServiceDependencyReference;\n};\n\n/** @public */\nexport type PagerDutyServiceDependencyResponse = {\n relationships: PagerDutyServiceDependency[];\n};\n\n/** @public */\nexport type PagerDutySetting = {\n id: string;\n value: 'backstage' | 'pagerduty' | 'both' | 'disabled';\n};\n\n/** @public */\nexport type PagerDutySettings = {\n settings: PagerDutySetting[];\n};\n\n/** @public */\nexport type AutoMatchScoreBreakdown = {\n baseScore: number;\n exactMatch: boolean;\n teamMatch: boolean;\n acronymMatch: boolean;\n rawScore: number;\n};\n\n/** @public */\nexport type AutoMatchPagerDutyService = {\n serviceId: string;\n name: string;\n team: string;\n account?: string;\n};\n\n/** @public */\nexport type AutoMatchBackstageComponent = {\n entityRef: string;\n name: string;\n owner: string;\n};\n\n/** @public */\nexport type AutoMatchEntityMapping = {\n pagerDutyService: AutoMatchPagerDutyService;\n backstageComponent: AutoMatchBackstageComponent;\n score: number;\n confidence: string;\n scoreBreakdown: AutoMatchScoreBreakdown;\n};\n\n/** @public */\nexport type AutoMatchStatistics = {\n totalPagerDutyServices: number;\n totalBackstageComponents: number;\n totalPossibleComparisons: number;\n matchesFound: number;\n exactMatches: number;\n highConfidenceMatches: number;\n mediumConfidenceMatches: number;\n threshold: number;\n loadTimeMs: number;\n matchTimeMs: number;\n totalTimeMs: number;\n};\n\n/** @public */\nexport type AutoMatchEntityMappingsResponse = {\n matches: AutoMatchEntityMapping[];\n statistics: AutoMatchStatistics;\n};\n"],"names":[],"mappings":";;AA2PO,MAAM,kBAAkB,KAAA,CAAM;AAAA,EACnC,WAAA,CAAY,SAAiB,MAAA,EAAgB;AAC3C,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAChB;AAAA,EAEA,MAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.esm.js","sources":["../src/types.ts"],"sourcesContent":["/** @public */\nexport type PagerDutyIncident = {\n id: string;\n title: string;\n status: string;\n html_url: string;\n assignments: [\n {\n assignee: PagerDutyUser;\n },\n ];\n service: PagerDutyService;\n created_at: string;\n urgency?: string;\n};\n\n/** @public */\nexport type PagerDutyUser = {\n id: string;\n summary: string;\n email: string;\n html_url: string;\n name: string;\n avatar_url: string;\n};\n\n/** @public */\nexport type PagerDutyChangeEvent = {\n id: string;\n integration: PagerDutyIntegration[];\n source: string;\n html_url?: string;\n links: [\n {\n href: string;\n text: string;\n },\n ];\n summary: string;\n timestamp: string;\n};\n\n/** @public */\nexport type PagerDutyService = {\n id: string;\n name: string;\n description?: string;\n escalation_policy: PagerDutyEscalationPolicy;\n alert_creation?: string;\n incident_urgency_rule?: PagerDutyIncidentUrgencyRule;\n integrations?: PagerDutyIntegration[];\n teams?: PagerDutyTeam[];\n status?: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyEscalationPolicy = {\n id: string;\n name: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyIncidentUrgencyRule = {\n type: string;\n urgency: string;\n};\n\n/** @public */\nexport type PagerDutyIntegration = {\n id: string;\n type: string;\n summary?: string;\n self?: string;\n html_url?: string;\n name?: string;\n service?: PagerDutyService;\n created_at?: string;\n vendor?: PagerDutyVendor;\n integration_key?: string;\n};\n\n/** @public */\nexport type PagerDutyTeam = {\n id: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n name: string;\n};\n\n/** @public */\nexport type PagerDutyOnCall = {\n user: PagerDutyUser;\n escalation_level: number;\n};\n\n/** @public */\nexport type PagerDutyOnCallUsersResponse = {\n users: PagerDutyUser[];\n};\n\n/** @public */\nexport type PagerDutyVendor = {\n id: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n};\n\n/** @public */\nexport type PagerDutyServiceStandards = {\n resource_id: string;\n resource_type: string;\n score: {\n passing: number;\n total: number;\n };\n standards: PagerDutyServiceStandard[];\n};\n\n/** @public */\nexport type PagerDutyServiceStandard = {\n active: boolean;\n description: string;\n id: string;\n name: string;\n pass: boolean;\n type: string;\n};\n\n/** @public */\nexport type PagerDutyServiceStandardsResponse = {\n standards: PagerDutyServiceStandards;\n};\n\n/** @public */\nexport type PagerDutyServiceMetrics = {\n mean_assignment_count?: number;\n mean_engaged_seconds?: number;\n mean_engaged_user_count?: number;\n mean_seconds_to_engage?: number;\n mean_seconds_to_first_ack?: number;\n mean_seconds_to_mobilize?: number;\n mean_seconds_to_resolve?: number;\n mean_user_defined_engaged_seconds?: number;\n service_id: string;\n service_name?: string;\n team_id?: string;\n team_name?: string;\n total_business_hour_interruptions?: number;\n total_down_time_minutes?: number;\n total_engaged_seconds?: number;\n total_escalation_count?: number;\n total_high_urgency_incidents?: number;\n total_incident_count?: number;\n total_incidents_acknowledged?: number;\n total_incidents_auto_resolved?: number;\n total_incidents_manual_escalated?: number;\n total_incidents_reassigned?: number;\n total_incidents_timeout_escalated?: number;\n total_interruptions?: number;\n total_low_urgency_incidents?: number;\n total_major_incidents?: number;\n total_notifications?: number;\n total_off_hour_interruptions?: number;\n total_sleep_hour_interruptions?: number;\n total_snoozed_seconds?: number;\n total_user_defined_engaged_seconds?: number;\n up_time_pct?: number;\n};\n\n/** @public */\nexport type PagerDutyServiceMetricsResponse = {\n metrics: PagerDutyServiceMetrics[];\n};\n\n/** @public */\nexport type PagerDutyServicesResponse = {\n services: PagerDutyService[];\n};\n\n/** @public */\nexport type PagerDutyServicesAPIResponse = PagerDutyServicesResponse & {\n offset: number;\n limit: number;\n total: number | null;\n more: boolean;\n};\n\n/** @public */\nexport type PagerDutyServiceResponse = {\n service: PagerDutyService;\n};\n\n/** @public */\nexport type PagerDutyIncidentsResponse = {\n incidents: PagerDutyIncident[];\n};\n\n/** @public */\nexport type PagerDutyChangeEventsResponse = {\n change_events: PagerDutyChangeEvent[];\n};\n\n/** @public */\nexport type PagerDutyOnCallsResponse = {\n oncalls: PagerDutyOnCall[];\n};\n\n/** @public */\nexport type PagerDutyIntegrationResponse = {\n integration: PagerDutyIntegration;\n};\n\n/** @public */\nexport type PagerDutyEscalationPoliciesResponse = {\n escalation_policies: PagerDutyEscalationPolicy[];\n limit?: number;\n offset?: number;\n more?: boolean;\n total?: number;\n};\n\n/** @public */\nexport type PagerDutyAbilitiesResponse = {\n abilities: string[];\n};\n\n/** @public */\nexport class HttpError extends Error {\n constructor(message: string, status: number) {\n super(message);\n this.status = status;\n }\n\n status: number;\n}\n\n/** @public */\nexport type PagerDutyOAuthConfig = {\n clientId: string;\n clientSecret: string;\n region?: string;\n subDomain: string;\n};\n\n/** @public */\nexport type PagerDutyAccountConfig = {\n id: string;\n isDefault?: boolean;\n eventsBaseUrl?: string;\n apiBaseUrl?: string;\n apiToken?: string;\n oauth?: PagerDutyOAuthConfig;\n};\n\n/** @public */\nexport type PagerDutyEntityMapping = {\n entityRef: string;\n entityName?: string;\n serviceId: string;\n serviceName?: string;\n integrationKey?: string;\n serviceUrl?: string;\n status?: 'NotMapped' | 'InSync' | 'OutOfSync';\n processedDate?: Date;\n team?: string;\n escalationPolicy?: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyEntityMappingsResponse = {\n mappings: PagerDutyEntityMapping[];\n};\n\n/** @public */\nexport type PagerDutyEntityMappingResponse = {\n mapping: PagerDutyEntityMapping;\n};\n\n/** @public */\nexport type PagerDutyServiceDependencyReference = {\n id: string;\n type: string;\n};\n\n/** @public */\nexport type PagerDutyServiceDependency = {\n id?: string;\n type?: string;\n supporting_service: PagerDutyServiceDependencyReference;\n dependent_service: PagerDutyServiceDependencyReference;\n};\n\n/** @public */\nexport type PagerDutyServiceDependencyResponse = {\n relationships: PagerDutyServiceDependency[];\n};\n\n/** @public */\nexport type PagerDutySetting = {\n id: string;\n value: 'backstage' | 'pagerduty' | 'both' | 'disabled';\n};\n\n/** @public */\nexport type PagerDutySettings = {\n settings: PagerDutySetting[];\n};\n"],"names":[],"mappings":"AAiPO,MAAM,kBAAkB,KAAA,CAAM;AAAA,EACnC,WAAA,CAAY,SAAiB,MAAA,EAAgB;AAC3C,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAChB;AAAA,EAEA,MAAA;AACF;;;;"}
1
+ {"version":3,"file":"types.esm.js","sources":["../src/types.ts"],"sourcesContent":["/** @public */\nexport type PagerDutyIncident = {\n id: string;\n title: string;\n status: string;\n html_url: string;\n assignments: [\n {\n assignee: PagerDutyUser;\n },\n ];\n service: PagerDutyService;\n created_at: string;\n urgency?: string;\n};\n\n/** @public */\nexport type PagerDutyUser = {\n id: string;\n summary: string;\n email: string;\n html_url: string;\n name: string;\n avatar_url: string;\n};\n\n/** @public */\nexport type PagerDutyChangeEvent = {\n id: string;\n integration: PagerDutyIntegration[];\n source: string;\n html_url?: string;\n links: [\n {\n href: string;\n text: string;\n },\n ];\n summary: string;\n timestamp: string;\n};\n\n/** @public */\nexport type PagerDutyService = {\n id: string;\n name: string;\n description?: string;\n escalation_policy: PagerDutyEscalationPolicy;\n alert_creation?: string;\n incident_urgency_rule?: PagerDutyIncidentUrgencyRule;\n integrations?: PagerDutyIntegration[];\n teams?: PagerDutyTeam[];\n status?: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyEscalationPolicy = {\n id: string;\n name: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyIncidentUrgencyRule = {\n type: string;\n urgency: string;\n};\n\n/** @public */\nexport type PagerDutyIntegration = {\n id: string;\n type: string;\n summary?: string;\n self?: string;\n html_url?: string;\n name?: string;\n service?: PagerDutyService;\n created_at?: string;\n vendor?: PagerDutyVendor;\n integration_key?: string;\n};\n\n/** @public */\nexport type PagerDutyTeam = {\n id: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n name: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyTeamsResponse = {\n teams: PagerDutyTeam[];\n more?: boolean;\n limit?: number;\n offset?: number;\n total?: number;\n};\n\n/** @public */\nexport type PagerDutyOnCall = {\n user: PagerDutyUser;\n escalation_level: number;\n};\n\n/** @public */\nexport type PagerDutyOnCallUsersResponse = {\n users: PagerDutyUser[];\n};\n\n/** @public */\nexport type PagerDutyVendor = {\n id: string;\n type?: string;\n summary?: string;\n self?: string;\n html_url?: string;\n};\n\n/** @public */\nexport type PagerDutyServiceStandards = {\n resource_id: string;\n resource_type: string;\n score: {\n passing: number;\n total: number;\n };\n standards: PagerDutyServiceStandard[];\n};\n\n/** @public */\nexport type PagerDutyServiceStandard = {\n active: boolean;\n description: string;\n id: string;\n name: string;\n pass: boolean;\n type: string;\n};\n\n/** @public */\nexport type PagerDutyServiceStandardsResponse = {\n standards: PagerDutyServiceStandards;\n};\n\n/** @public */\nexport type PagerDutyServiceMetrics = {\n mean_assignment_count?: number;\n mean_engaged_seconds?: number;\n mean_engaged_user_count?: number;\n mean_seconds_to_engage?: number;\n mean_seconds_to_first_ack?: number;\n mean_seconds_to_mobilize?: number;\n mean_seconds_to_resolve?: number;\n mean_user_defined_engaged_seconds?: number;\n service_id: string;\n service_name?: string;\n team_id?: string;\n team_name?: string;\n total_business_hour_interruptions?: number;\n total_down_time_minutes?: number;\n total_engaged_seconds?: number;\n total_escalation_count?: number;\n total_high_urgency_incidents?: number;\n total_incident_count?: number;\n total_incidents_acknowledged?: number;\n total_incidents_auto_resolved?: number;\n total_incidents_manual_escalated?: number;\n total_incidents_reassigned?: number;\n total_incidents_timeout_escalated?: number;\n total_interruptions?: number;\n total_low_urgency_incidents?: number;\n total_major_incidents?: number;\n total_notifications?: number;\n total_off_hour_interruptions?: number;\n total_sleep_hour_interruptions?: number;\n total_snoozed_seconds?: number;\n total_user_defined_engaged_seconds?: number;\n up_time_pct?: number;\n};\n\n/** @public */\nexport type PagerDutyServiceMetricsResponse = {\n metrics: PagerDutyServiceMetrics[];\n};\n\n/** @public */\nexport type PagerDutyServicesResponse = {\n services: PagerDutyService[];\n};\n\n/** @public */\nexport type PagerDutyServicesAPIResponse = PagerDutyServicesResponse & {\n offset: number;\n limit: number;\n total: number | null;\n more: boolean;\n};\n\n/** @public */\nexport type PagerDutyServiceResponse = {\n service: PagerDutyService;\n};\n\n/** @public */\nexport type PagerDutyIncidentsResponse = {\n incidents: PagerDutyIncident[];\n};\n\n/** @public */\nexport type PagerDutyChangeEventsResponse = {\n change_events: PagerDutyChangeEvent[];\n};\n\n/** @public */\nexport type PagerDutyOnCallsResponse = {\n oncalls: PagerDutyOnCall[];\n};\n\n/** @public */\nexport type PagerDutyIntegrationResponse = {\n integration: PagerDutyIntegration;\n};\n\n/** @public */\nexport type PagerDutyEscalationPoliciesResponse = {\n escalation_policies: PagerDutyEscalationPolicy[];\n limit?: number;\n offset?: number;\n more?: boolean;\n total?: number;\n};\n\n/** @public */\nexport type PagerDutyAbilitiesResponse = {\n abilities: string[];\n};\n\n/** @public */\nexport class HttpError extends Error {\n constructor(message: string, status: number) {\n super(message);\n this.status = status;\n }\n\n status: number;\n}\n\n/** @public */\nexport type PagerDutyOAuthConfig = {\n clientId: string;\n clientSecret: string;\n region?: string;\n subDomain: string;\n identityUrl?: string;\n};\n\n/** @public */\nexport type PagerDutyAccountConfig = {\n id: string;\n isDefault?: boolean;\n eventsBaseUrl?: string;\n apiBaseUrl?: string;\n apiToken?: string;\n oauth?: PagerDutyOAuthConfig;\n};\n\n/** @public */\nexport type PagerDutyEntityMapping = {\n entityRef: string;\n entityName?: string;\n serviceId: string;\n serviceName?: string;\n integrationKey?: string;\n serviceUrl?: string;\n status?: 'NotMapped' | 'InSync' | 'OutOfSync';\n processedDate?: Date;\n team?: string;\n escalationPolicy?: string;\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyEntityMappingsResponse = {\n mappings: PagerDutyEntityMapping[];\n};\n\n/** @public */\nexport type FormattedBackstageEntity = {\n name: string;\n id: string;\n namespace: string;\n type: string;\n system: string;\n owner: string;\n lifecycle: string;\n annotations: {\n 'pagerduty.com/integration-key': string;\n 'pagerduty.com/service-id': string;\n };\n // PagerDuty properties\n serviceName?: string;\n serviceUrl?: string;\n team?: string;\n escalationPolicy?: string;\n status?: 'NotMapped' | 'InSync' | 'OutOfSync' | 'ErrorWhenFetchingService';\n account?: string;\n};\n\n/** @public */\nexport type PagerDutyEnhancedEntityMappingsResponse = {\n entities: FormattedBackstageEntity[];\n totalCount: number;\n};\n\n/** @public */\nexport type PagerDutyEntityMappingResponse = {\n mapping: PagerDutyEntityMapping;\n};\n\n/** @public */\nexport type PagerDutyServiceDependencyReference = {\n id: string;\n type: string;\n};\n\n/** @public */\nexport type PagerDutyServiceDependency = {\n id?: string;\n type?: string;\n supporting_service: PagerDutyServiceDependencyReference;\n dependent_service: PagerDutyServiceDependencyReference;\n};\n\n/** @public */\nexport type PagerDutyServiceDependencyResponse = {\n relationships: PagerDutyServiceDependency[];\n};\n\n/** @public */\nexport type PagerDutySetting = {\n id: string;\n value: 'backstage' | 'pagerduty' | 'both' | 'disabled';\n};\n\n/** @public */\nexport type PagerDutySettings = {\n settings: PagerDutySetting[];\n};\n\n/** @public */\nexport type AutoMatchScoreBreakdown = {\n baseScore: number;\n exactMatch: boolean;\n teamMatch: boolean;\n acronymMatch: boolean;\n rawScore: number;\n};\n\n/** @public */\nexport type AutoMatchPagerDutyService = {\n serviceId: string;\n name: string;\n team: string;\n account?: string;\n};\n\n/** @public */\nexport type AutoMatchBackstageComponent = {\n entityRef: string;\n name: string;\n owner: string;\n};\n\n/** @public */\nexport type AutoMatchEntityMapping = {\n pagerDutyService: AutoMatchPagerDutyService;\n backstageComponent: AutoMatchBackstageComponent;\n score: number;\n confidence: string;\n scoreBreakdown: AutoMatchScoreBreakdown;\n};\n\n/** @public */\nexport type AutoMatchStatistics = {\n totalPagerDutyServices: number;\n totalBackstageComponents: number;\n totalPossibleComparisons: number;\n matchesFound: number;\n exactMatches: number;\n highConfidenceMatches: number;\n mediumConfidenceMatches: number;\n threshold: number;\n loadTimeMs: number;\n matchTimeMs: number;\n totalTimeMs: number;\n};\n\n/** @public */\nexport type AutoMatchEntityMappingsResponse = {\n matches: AutoMatchEntityMapping[];\n statistics: AutoMatchStatistics;\n};\n"],"names":[],"mappings":"AA2PO,MAAM,kBAAkB,KAAA,CAAM;AAAA,EACnC,WAAA,CAAY,SAAiB,MAAA,EAAgB;AAC3C,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAChB;AAAA,EAEA,MAAA;AACF;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pagerduty/backstage-plugin-common",
3
3
  "description": "Common components for PagerDuty plugins for Backstage",
4
- "version": "0.2.6",
4
+ "version": "0.3.0",
5
5
  "main": "dist/index.cjs.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "Apache-2.0",
@@ -39,7 +39,7 @@
39
39
  "clean": "backstage-cli package clean"
40
40
  },
41
41
  "devDependencies": {
42
- "@backstage/cli": "^0.35.1",
42
+ "@backstage/cli": "^0.35.3",
43
43
  "@commitlint/cli": "^17.7.1",
44
44
  "@commitlint/config-conventional": "^17.7.0",
45
45
  "typescript": "^5.8.0"