index-ticketing
Version:
Automatic error tracking and ticketing system integration
88 lines • 2.41 kB
TypeScript
export interface IndexTicketingConfig {
/** Base URL of your ticketing system */
endpoint: string;
/** API key for authentication */
apiKey: string;
/** Project ID where tickets should be created */
projectId: string;
/** Organization ID */
organizationId: string;
/** Environment (development, staging, production) */
environment?: string;
/** Release version */
release?: string;
/** User context */
user?: {
id?: string;
email?: string;
name?: string;
};
/** Custom tags */
tags?: Record<string, string>;
/** Enable/disable automatic error capture */
autoCapture?: boolean;
/** Sample rate (0.0 to 1.0) */
sampleRate?: number;
/** Maximum breadcrumbs to keep */
maxBreadcrumbs?: number;
/** Filters for sensitive data */
beforeSend?: (event: ErrorEvent) => ErrorEvent | null;
}
export interface ErrorEvent {
/** Error message */
message: string;
/** Error stack trace */
stackTrace?: string;
/** Error level */
level: 'error' | 'warning' | 'info' | 'debug';
/** Timestamp */
timestamp: number;
/** User context */
user?: {
id?: string;
email?: string;
name?: string;
};
/** Browser/environment info */
environment: {
userAgent?: string;
url?: string;
referrer?: string;
platform?: string;
timestamp: number;
};
/** Custom tags */
tags?: Record<string, string>;
/** Breadcrumbs leading to error */
breadcrumbs?: Breadcrumb[];
/** Additional context */
extra?: Record<string, any>;
/** Error fingerprint for grouping */
fingerprint?: string[];
}
export interface Breadcrumb {
/** Breadcrumb message */
message: string;
/** Category (navigation, ui, http, etc.) */
category?: string;
/** Level */
level?: 'info' | 'warning' | 'error' | 'debug';
/** Timestamp */
timestamp: number;
/** Additional data */
data?: Record<string, any>;
}
export interface TicketPayload {
title: string;
description: string;
priority: 'low' | 'medium' | 'high' | 'urgent';
projectId: string;
organizationId: string;
metadata: {
source: 'index-ticketing';
errorEvent: ErrorEvent;
environment: string;
release?: string;
};
}
//# sourceMappingURL=types.d.ts.map