Issue Audit Log (UI + Backend) (SZ-51)
rk@tigase.net opened 3 weeks ago

Introduce a first-class Issue Audit Log that records and displays all meaningful changes to an issue (status, priority, severity, assignee, comments, etc.) via a dedicated modal launched from the Issues page.


Description

Sztab currently lacks visibility into how and when an issue evolved. This makes debugging, accountability, and collaboration harder, especially for long-lived or frequently updated issues.

This task introduces an Issue Audit Log, covering both backend persistence and frontend visualization.

UI Scope

  • Add an Audit action to each issue row on IssuesPage
  • Clicking Audit opens a read-only IssueAuditModal
  • The modal displays a chronological timeline of changes for the selected issue
  • Each audit entry includes:
    • timestamp
    • actor (user)
    • action type (status change, field update, comment added, etc.)
    • before and after values, where applicable

The audit modal is parallel to Edit, not embedded within it.

Backend Scope

  • Introduce an IssueAuditEntry entity persisted per issue
  • Record audit entries on:
    • issue creation
    • updates to status, priority, or severity
    • assignee changes
    • comments added
  • Expose a REST endpoint that returns a sorted list of audit entries for an issue

Explicit Non-Goals

  • No diff highlighting or advanced visual comparison
  • No pagination (assume reasonable audit sizes initially)
  • No new permissions logic beyond existing issue visibility rules

Deliverables

Frontend

  • IssueAuditModal.tsx
  • issueAudit.ts API client
  • IssuesPage.tsx wiring (Audit action alongside Edit)
  • Read-only, clean timeline UI

Backend

  • IssueAuditEntry JPA entity
  • IssueAuditEntryRepository
  • IssueAuditService and IssueAuditServiceImpl
  • Controller endpoint under IssueController

Worklog & Estimate

TaskEstimate
Backend audit implementation (entity, DTO, repository, service, controller, unit tests)2h
Hook audit recording into issue lifecycle (create, update, comment)1h
Audit REST endpoint integration and validation30 min
IssueAuditModal UI (read-only timeline)1h
Issues page integration (Audit action and modal wiring)30 min
Smoke testing (API and UI)30 min
Total5.5–6 hours
  • rk@tigase.net commented 3 weeks ago

    working branch: feature/issue-audit-log child of feature/SZ-50-Issue-Management-UI child of wolnosc

  • rk@tigase.net changed state to 'In Progress' 3 weeks ago
    Previous Value Current Value
    Open
    In Progress
  • rk@tigase.net commented 2 weeks ago

    This implementation is being tested in branch

    • feature/SZ-50-Issue-Management-UI
  • rk@tigase.net changed state to 'In QA' 2 weeks ago
    Previous Value Current Value
    In Progress
    In QA
  • rk@tigase.net commented 1 week ago

    Merged into wolnosc.

  • rk@tigase.net changed state to 'Closed' 1 week ago
    Previous Value Current Value
    In QA
    Closed
issue 1 of 1
Type
New Feature
Priority
Normal
Assignee
Version
1.0
Sprints
n/a
Customer
n/a
Issue Votes (0)
Watchers (3)
Reference
SZ-51
Please wait...
Page is in error, reload to recover