@pagerduty/backstage-plugin-common 0.3.0 → 0.4.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,15 @@
1
1
  # @pagerduty/backstage-plugin-common
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 9941800: Refactor the service mappings screen and add an auto-matching functionality to mass map PagerDuty service to Backstage entities
8
+
9
+ ### Patch Changes
10
+
11
+ - ef0af04: Moved to a process/polling based loading of the automatic mapping matches
12
+
3
13
  ## 0.3.0
4
14
 
5
15
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -364,6 +364,22 @@ type AutoMatchEntityMappingsResponse = {
364
364
  matches: AutoMatchEntityMapping[];
365
365
  statistics: AutoMatchStatistics;
366
366
  };
367
+ /** @public */
368
+ type AutoMatchJobStatus = 'pending' | 'running' | 'completed' | 'failed';
369
+ /** @public */
370
+ type AutoMatchStartResponse = {
371
+ jobId: string;
372
+ status: AutoMatchJobStatus;
373
+ };
374
+ /** @public */
375
+ type AutoMatchStatusResponse = {
376
+ jobId: string;
377
+ status: AutoMatchJobStatus;
378
+ createdAt: string;
379
+ completedAt?: string;
380
+ result?: AutoMatchEntityMappingsResponse;
381
+ error?: string;
382
+ };
367
383
 
368
384
  /** @public */
369
385
  declare const PAGERDUTY_INTEGRATION_KEY = "pagerduty.com/integration-key";
@@ -371,4 +387,4 @@ declare const PAGERDUTY_INTEGRATION_KEY = "pagerduty.com/integration-key";
371
387
  declare const PAGERDUTY_SERVICE_ID = "pagerduty.com/service-id";
372
388
 
373
389
  export { HttpError, PAGERDUTY_INTEGRATION_KEY, PAGERDUTY_SERVICE_ID };
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 };
390
+ export type { AutoMatchBackstageComponent, AutoMatchEntityMapping, AutoMatchEntityMappingsResponse, AutoMatchJobStatus, AutoMatchPagerDutyService, AutoMatchScoreBreakdown, AutoMatchStartResponse, AutoMatchStatistics, AutoMatchStatusResponse, 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 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
+ {"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\n/** @public */\nexport type AutoMatchJobStatus =\n | 'pending'\n | 'running'\n | 'completed'\n | 'failed';\n\n/** @public */\nexport type AutoMatchStartResponse = {\n jobId: string;\n status: AutoMatchJobStatus;\n};\n\n/** @public */\nexport type AutoMatchStatusResponse = {\n jobId: string;\n status: AutoMatchJobStatus;\n createdAt: string;\n completedAt?: string;\n result?: AutoMatchEntityMappingsResponse;\n error?: string;\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 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
+ {"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\n/** @public */\nexport type AutoMatchJobStatus =\n | 'pending'\n | 'running'\n | 'completed'\n | 'failed';\n\n/** @public */\nexport type AutoMatchStartResponse = {\n jobId: string;\n status: AutoMatchJobStatus;\n};\n\n/** @public */\nexport type AutoMatchStatusResponse = {\n jobId: string;\n status: AutoMatchJobStatus;\n createdAt: string;\n completedAt?: string;\n result?: AutoMatchEntityMappingsResponse;\n error?: string;\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.3.0",
4
+ "version": "0.4.0",
5
5
  "main": "dist/index.cjs.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "Apache-2.0",