From 934c4043b4d8daf543e8d8e309228cd165725a0d Mon Sep 17 00:00:00 2001 From: Samira Mokaram Date: Wed, 9 Dec 2020 16:33:32 +0100 Subject: [PATCH] add timezone to queries and sort oncalls --- plugins/pagerduty/src/api/client.ts | 6 +++--- .../src/components/Escalation/EscalationPolicy.tsx | 4 +++- plugins/pagerduty/src/components/types.ts | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/plugins/pagerduty/src/api/client.ts b/plugins/pagerduty/src/api/client.ts index 527a56b2af..34bba1b7b3 100644 --- a/plugins/pagerduty/src/api/client.ts +++ b/plugins/pagerduty/src/api/client.ts @@ -46,7 +46,7 @@ export class PagerDutyClient implements PagerDutyApi { constructor(private readonly config: ClientApiConfig) {} async getServiceByIntegrationKey(integrationKey: string): Promise { - const params = `include[]=integrations&include[]=escalation_policies&query=${integrationKey}`; + const params = `time_zone=UTC&include[]=integrations&include[]=escalation_policies&query=${integrationKey}`; const url = `${await this.config.discoveryApi.getBaseUrl( 'proxy', )}/pagerduty/services?${params}`; @@ -56,7 +56,7 @@ export class PagerDutyClient implements PagerDutyApi { } async getIncidentsByServiceId(serviceId: string): Promise { - const params = `statuses[]=triggered&statuses[]=acknowledged&service_ids[]=${serviceId}`; + const params = `time_zone=UTC&sort_by=created_at&statuses[]=triggered&statuses[]=acknowledged&service_ids[]=${serviceId}`; const url = `${await this.config.discoveryApi.getBaseUrl( 'proxy', )}/pagerduty/incidents?${params}`; @@ -66,7 +66,7 @@ export class PagerDutyClient implements PagerDutyApi { } async getOnCallByPolicyId(policyId: string): Promise { - const params = `include[]=users&escalation_policy_ids[]=${policyId}`; + const params = `time_zone=UTC&include[]=users&escalation_policy_ids[]=${policyId}&include[]=escalation_level`; const url = `${await this.config.discoveryApi.getBaseUrl( 'proxy', )}/pagerduty/oncalls?${params}`; diff --git a/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx b/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx index 5e67d52172..faa480f6e2 100644 --- a/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx +++ b/plugins/pagerduty/src/components/Escalation/EscalationPolicy.tsx @@ -32,7 +32,9 @@ export const EscalationPolicy = ({ policyId }: Props) => { const { value: users, loading, error } = useAsync(async () => { const oncalls = await api.getOnCallByPolicyId(policyId); - const users = oncalls.map(oncall => oncall.user); + const users = oncalls + .sort((a, b) => a.escalation_level - b.escalation_level) + .map(oncall => oncall.user); return users; }); diff --git a/plugins/pagerduty/src/components/types.ts b/plugins/pagerduty/src/components/types.ts index 371f4eea6d..ff63c81518 100644 --- a/plugins/pagerduty/src/components/types.ts +++ b/plugins/pagerduty/src/components/types.ts @@ -41,6 +41,7 @@ export type Service = { export type OnCall = { user: User; + escalation_level: number; }; export type Assignee = {