Interactive ticket kanban board report built on jKanban.
Renders a drag-and-drop kanban board where each column represents a ticket status. Cards display the ticket number, subject, priority badge, assignee initials, age, and an SLA breach warning icon.
Dragging a card between columns triggers a status change via an RPC fetch call. The board auto-refreshes every 30 seconds.
| Column | Status |
|---|---|
| New | NEW |
| Triaged | TRIAGED |
| In Progress | IN_PROGRESS |
| On Hold | ON_HOLD |
| Escalated | ESCALATED |
| Resolved | RESOLVED |
| Parameter | Purpose |
|---|---|
| (empty) | Full HTML kanban page |
param1="update_status", param2=<guid>, param3=<status> |
RPC: change ticket status, returns JSON |
param1="get_ticket", param2=<guid> |
RPC: return ticket detail as JSON |
param1="merge", param2=<target_guid>, param3=<source_guid> |
RPC: merge source ticket into target, returns JSON |
param1="refresh" |
RPC: return current board data as JSON |
Three dropdown filters are rendered above the board:
Filters apply client-side by hiding non-matching cards.
Each card shows:
| Priority | Colour |
|---|---|
| CRITICAL | #c0392b |
| HIGH | #e74c3c |
| MEDIUM | #f39c12 |
| LOW | #27ae60 |
| INFO | #95a5a6 |
ObjReportKanban.yaml contains:
queries: -- SQL for fetching kanban tickets, distinct assignees, and distinct typescss: -- all board and card styling under the kanban keyhtml: -- card template, filter bar, and detail modal under their respective keysjs: -- jKanban initialisation, drag-and-drop handler, auto-refresh, and filter logic under the kanban keyRight-click a card to select it as a merge source, then right-click a second card to merge the source into the target. A confirmation dialog is shown before merging. The merge RPC calls ObjTicket.merge_ticket() and returns JSON with the result.
Programmatic access: window._kb_{uid}.merge(target_guid, source_guid).
Reads from data_ticket table (including EstimatedDate for ETA display), filtering by the active package and excluding CLOSED/CANCELLED tickets.