Skip to content

Feature: Plugin SDK for Custom Event Enrichment and Integrations #5

@hoangsonww

Description

@hoangsonww

Problem

Teams often need domain-specific metadata (ticket IDs, environments, owners, service names) attached to events, but the ingestion pipeline is currently fixed.

Proposal

Create a Plugin SDK that lets users register server-side plugins to enrich events and hook into lifecycle callbacks.

Scope

  • Plugin lifecycle: load, validate, enable/disable, version
  • Hooks: beforePersist(event), afterPersist(event, entities), beforeBroadcast(message)
  • Safe plugin sandboxing and timeout guards
  • Plugin diagnostics UI (health, last execution, failures)

Example Use Cases

  • Add Jira ticket extraction from summaries
  • Tag events by environment from cwd/path
  • Forward selected events to external systems

Technical Notes

  • Define stable plugin API contract with TypeScript types
  • Isolate plugin errors so ingestion never fails hard
  • Add plugin registry table for metadata and state

Acceptance Criteria

  • Plugins can be installed and toggled without server code edits
  • Plugin failure does not block core event ingestion
  • Plugin execution is observable (latency, error count)
  • Enriched fields are persisted and queryable
  • SDK docs include a working example plugin

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdocumentationImprovements or additions to documentationenhancementNew feature or requestgood first issueGood for newcomershelp wantedExtra attention is neededquestionFurther information is requested

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions