Merge pull request #3654 from backstage/samiram/pagerduty
Samiram/pagerduty
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-pagerduty': patch
|
||||
---
|
||||
|
||||
Supporting Timezones
|
||||
@@ -46,7 +46,7 @@ export class PagerDutyClient implements PagerDutyApi {
|
||||
constructor(private readonly config: ClientApiConfig) {}
|
||||
|
||||
async getServiceByIntegrationKey(integrationKey: string): Promise<Service[]> {
|
||||
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<Incident[]> {
|
||||
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<OnCall[]> {
|
||||
const params = `include[]=users&escalation_policy_ids[]=${policyId}`;
|
||||
const params = `time_zone=UTC&include[]=users&escalation_policy_ids[]=${policyId}`;
|
||||
const url = `${await this.config.discoveryApi.getBaseUrl(
|
||||
'proxy',
|
||||
)}/pagerduty/oncalls?${params}`;
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
|
||||
@@ -22,7 +22,7 @@ export const IncidentsEmptyState = () => {
|
||||
return (
|
||||
<Grid container justify="center" direction="column" alignItems="center">
|
||||
<Grid item xs={12}>
|
||||
<Typography variant="h4">Nice! No incidents found!</Typography>
|
||||
<Typography variant="h5">Nice! No incidents found!</Typography>
|
||||
</Grid>
|
||||
<Grid item xs={12}>
|
||||
<img
|
||||
|
||||
@@ -41,6 +41,7 @@ export type Service = {
|
||||
|
||||
export type OnCall = {
|
||||
user: User;
|
||||
escalation_level: number;
|
||||
};
|
||||
|
||||
export type Assignee = {
|
||||
|
||||
Reference in New Issue
Block a user