ITSM
Purpose
Section titled “Purpose”IT Service Management: incidents (tickets), change requests, problem records — core MSP workflows in Cloud SPA.
Boundaries
Section titled “Boundaries”| In scope | Out of scope |
|---|---|
| Incident lifecycle, assignments, SLA markers | External ITSM bi-directional sync (integrations) |
| Change/problem modules | Email ingestion as primary channel |
Key components
Section titled “Key components”| Area | Backend path |
|---|---|
| Incidents | Backend/internal/domain/incidents/ |
| Changes | Backend/internal/domain/changes/ |
| Problems | Backend/internal/domain/problem/ |
| SLA jobs | Backend/internal/jobs/sla_escalation.go, weekly_digest.go |
| Notifications | Backend/internal/services/notification_dispatch.go |
Migrations: V48__incident_sla_escalation_markers.sql, V49__weekly_digest_log.sql.
Flow: incident SLA warning
Section titled “Flow: incident SLA warning”sequenceDiagram
participant Job as sla_escalation job
participant DB as Azure SQL
participant Notify as notification_dispatch
participant User as Assignee
Job->>DB: Find incidents nearing SLA breach
Job->>DB: Mark escalation sent
Job->>Notify: incident SLA warning type
Notify->>User: In-app / email notification
Flow: weekly digest
Section titled “Flow: weekly digest”Background job weekly_digest.go emails tenant admins a summary — logged in weekly_digest_log to prevent duplicates.
Debug scenarios
Section titled “Debug scenarios”| Issue | Check |
|---|---|
| SLA warning not sent | sla_escalation job running (internal/app/background.go); incident SLA fields |
| Duplicate digests | weekly_digest_log table |
| Permission denied | RBAC on incidents routes |