PluginsPagerDuty
PagerDuty Database Schema
Database entities and querying synced PagerDuty data
The PagerDuty plugin syncs incident and user data to your database for fast queries.
New to Corsair? Learn about database operations, data synchronization, and multi-tenancy.
Full Implementation: See the PagerDuty plugin source code.
Synced Entities
- incidents - Incident records and their status
- users - PagerDuty user profiles
Database API
const incidents = await corsair.pagerduty.db.incidents.search({
data: { status: "triggered" },
});Incidents
Schema
{
id: string; // PagerDuty incident ID
incident_number: number;
title: string;
status: string; // triggered | acknowledged | resolved
urgency: string; // high | low
service_id: string;
created_at: string;
resolved_at?: string;
html_url: string;
}Querying Incidents
Search by status:
const open = await corsair.pagerduty.db.incidents.search({
data: { status: "triggered" },
});Search by service:
const serviceIncidents = await corsair.pagerduty.db.incidents.search({
data: { service_id: "SERVICE123" },
});Example: Multi-Tenancy Incident Query
const tenant = corsair.withTenant("org-123");
const incidents = await tenant.pagerduty.db.incidents.search({
data: { urgency: "high", status: "triggered" },
limit: 10,
});Users
Schema
{
id: string;
name: string;
email: string;
role: string;
time_zone?: string;
html_url: string;
}Querying Users
Search by email:
const users = await corsair.pagerduty.db.users.search({
data: { email: "engineer@example.com" },
});