License: GNU AGPL v3+
Authors: Nelly Mahu-Lasson, David Durieux, Xavier Caillaud
Repository: https://github.com/pluginsGLPI/timelineticket
- Overview
- Installation
- Configuration
- Features
- Statistics (Ticket tab)
- Dashboard widget (mydashboard)
- Rights management
- Uninstallation
The TimelineTicket plugin adds a Timeline tab to every GLPI ticket. It records status changes, group assignments, and technician assignments in real time, then displays this data as:
- Gantt charts (Google Charts) showing the time spent in each status or by each actor
- Summary tables with durations per status, per group, and per technician
- A visual swimlane grouping all ticket events (statuses, groups, technicians, followups, tasks, solutions, validations) by status lane
- Download the plugin from GitHub or the GLPI marketplace.
- Extract the archive into the
plugins/(ormarketplace/) directory of your GLPI installation. - Run
composer install --no-devin the plugin directory. - Log in to GLPI as an administrator.
- Go to Setup › Plugins, then click Install and Enable for Timeline of tickets.
Access: Setup › General setup › Timeline tab (or from the plugin configuration page)
(Required right: config UPDATE or plugin_timelineticket_ticket UPDATE)
| Field | Default value | Description |
|---|---|---|
| Count time on groups/technicians when ticket is waiting | Yes | If enabled (add_waiting = 1), time spent in Pending (waiting) status is included in the total time calculation for assigned groups and technicians. If disabled, this time is excluded. |
Access: Setup › Dropdowns › Service levels (Grouplevel module)
Service levels allow you to group multiple GLPI groups under a single label in the group Gantt chart. Instead of displaying each group individually, groups belonging to the same service level are merged under the level name.
| Field | Description |
|---|---|
| Name | Service level name displayed on the chart |
| Position (rank) | Display order of levels in the chart |
| Associated groups | List of GLPI groups included in this service level |
Each service level is entity-scoped and can be set as recursive.
A Timeline tab (hourglass icon) is added to every ticket form in the central interface. It is visible to profiles with the plugin_timelineticket_ticket right (read or update).
The tab displays:
- The calendar in use for the ticket (entity calendar)
- A lateness indicator if the due date has been exceeded (duration calculated via the calendar, or 24/7 if no calendar is configured)
- An informational note: "This view displays time spent by status, group, technician. The display does not use working hours."
- The four sections described below
Section Result details (Statuses) — includes:
- Status Gantt chart (Google Charts Timeline): each bar represents the time spent in a given status.
- Detail table with columns:
- Old status / New status
- Start date / End date
- Duration (human-readable format: d h min s)
- Grand total of durations shown in the tab footer.
The current status (if the ticket is not closed) is shown with its duration calculated in real time from the last transition.
Section Result details (Groups in charge of the ticket) — includes:
- Group Gantt chart: each group (or service level) is represented by a bar on the timeline. If service levels are configured, groups belonging to a level are merged under the level name.
- Cross-table: one row per group, one column per GLPI status, showing the cumulative duration for each group × status combination.
Section Result details (Technicians in charge of the ticket) — includes:
- Technician Gantt chart: each technician is represented by a bar.
- Cross-table: one row per technician, one column per GLPI status, showing the cumulative duration for each technician × status combination.
Section Assignment swimlane — a column-based (Kanban-like) view where:
- Each column corresponds to a GLPI status (New, In progress — Assigned, In progress — Planned, Pending, Solved, Closed, and Approval if applicable)
- Each card in a column represents an event that occurred while the ticket was in that status
| Type | Color | Description |
|---|---|---|
| Group | Blue | Technician group assignment |
| Technician | Red | Technician assignment |
| Followup | Cyan | Followup added (public or private) |
| Task | Amber | Task added (public or private) |
| Solution | Green | Solution added (always in the Solved column) |
| Validation | Purple | Validation request (always in the Approval column) |
A toolbar allows filtering by event type: All, Groups, Technicians, Followups, Tasks, Solutions, Validations. Filters hide non-selected cards and redraw the progression arrows accordingly.
SVG arrows connect cards of the same type in chronological order, indicating the sequence of events. A dashed arrow indicates a backward transition (e.g. reopening of a ticket).
From the ticket's Timeline tab, a Reconstruct history for this ticket button regenerates the data from GLPI logs for that single ticket.
From the plugin configuration page, three buttons allow rebuilding the global history:
- Reconstruct states timeline for all tickets: re-reads GLPI logs (
glpi_logs,id_search_option = 12) for all tickets. - Reconstruct technician groups timeline for all tickets
- Reconstruct technicians timeline for all tickets
These operations may take a long time on large databases.
Via the SHOW_ITEM_STATS hook, the plugin adds additional statistics to the native GLPI Statistics tab on tickets (duration per status, duration per group/technician for closed tickets).
If the mydashboard plugin is active, a widget is available in the dashboard:
| Widget | Description |
|---|---|
| Number of assignments per technician to a ticket | Bar chart showing, for technicians in the selected group(s), the number of times each has been assigned to a ticket over the chosen period |
Widget parameters:
- Period (start date / end date)
- Granularity: by day, by week, or by month
- Filtered technician groups (default: groups of the logged-in user)
- Entity and recursiveness
Access: Administration › Profiles › [profile] › Timeline of tickets tab
(Tab visible only for central interface profiles)
| Right | Field | Values |
|---|---|---|
| Ticket | plugin_timelineticket_ticket |
READ (read) / UPDATE (update + configuration access) |
At installation, the Super-Admin profile receives READ + UPDATE (value 3).
READgrants access to the Timeline tab on tickets.UPDATEadditionally grants access to the plugin configuration page.
- Go to Setup › Plugins.
- Click Disable then Uninstall for Timeline of tickets.
Warning: Uninstalling removes all plugin tables:
glpi_plugin_timelineticket_configs(configuration)glpi_plugin_timelineticket_assignstates(status history)glpi_plugin_timelineticket_assigngroups(group history)glpi_plugin_timelineticket_assignusers(technician history)glpi_plugin_timelineticket_grouplevels(service levels)All recorded history data is permanently lost.