md-linear-sync
Version:
Sync Linear tickets to local markdown files with status-based folder organization
58 lines • 1.39 kB
TypeScript
interface SlackNotificationService {
sendWebhookNotification(event: WebhookSyncEvent): Promise<void>;
}
interface WebhookSyncEvent {
type: 'issue_updated' | 'comment_added' | 'issue_created' | 'issue_deleted';
ticketId: string;
ticketTitle: string;
ticketUrl: string;
changes?: TicketChanges;
comment?: CommentInfo;
timestamp: string;
}
interface TicketChanges {
status?: {
from: string;
to: string;
};
assignee?: {
from?: string;
to?: string;
};
title?: {
from: string;
to: string;
};
description?: {
from: string;
to: string;
};
labels?: {
added: string[];
removed: string[];
};
priority?: {
from: number;
to: number;
};
}
interface CommentInfo {
author: string;
content: string;
id: string;
}
export declare class SlackNotificationServiceImpl implements SlackNotificationService {
private botToken;
private channel;
constructor();
sendWebhookNotification(event: WebhookSyncEvent): Promise<void>;
private formatWebhookMessage;
private formatChanges;
private getStatusEmoji;
private truncateText;
private generateDiff;
private sendToSlack;
static getInstance(): SlackNotificationServiceImpl;
}
export {};
//# sourceMappingURL=SlackNotificationService.d.ts.map