Browser Extension - edmozley/freeitsm GitHub Wiki
Browser Extension
A Chrome/Edge browser extension that shows your Watchtower dashboard summary in a popup with a badge count for items needing attention.
The extension is checked into the main repo under browser-extension/ and is built as a Manifest V3 extension.
Setup
-
Generate an API key Go to Software → Settings → API Keys, enter a label (e.g. "Chrome extension"), and click Generate. Copy the key — it's only shown once.
-
Install the extension
- Open
chrome://extensions(oredge://extensions) - Enable Developer mode
- Click Load unpacked
- Select the
browser-extension/folder from your local clone of the repo
- Open
-
Configure Click the extension icon, then Settings. Enter:
- Your FreeITSM server URL (e.g.
https://itsm.example.com) - The API key from step 1
Click Test to verify connectivity, then Save.
- Your FreeITSM server URL (e.g.
Features
- Badge count — number of items needing attention (high priority tickets, unassigned tickets, changes awaiting approval, active incidents, expiring contracts, overdue reviews, overdue tasks, and morning checks that need attention) displayed on the extension icon
- Popup dashboard — a compact summary matching the full Watchtower view
- Follows your own statuses — the badge and popup count whatever statuses you have, under your own names, exactly as the dashboard does
- Configurable polling — refresh every 1 to 30 minutes
- Rate-limited API — 60 requests per minute per key (configurable in System Settings)
- Works in Chrome and Edge (Manifest V3)
Update to at least #1122. Before that release the badge counted a morning-check status named Fail, which FreeITSM has never had — so a morning where every check failed added nothing to the badge and never turned it red. The popup's ticket figure also missed any ticket whose status was not one of the three it named. Both now read the same figures as the dashboard.
Files
browser-extension/
├── manifest.json
├── background.js # Service worker — polling + badge updates
├── popup.html / .js / .css # Extension popup UI
├── options.html / .js # Settings page
└── icons/ # Extension icons (16, 32, 48, 128px)
API
The extension uses api/watchtower/get_dashboard_ext.php with bearer-token auth via the generated API key. The single Watchtower aggregation endpoint returns counts and flags across all modules in one round trip.
The Knowledge card is scoped to the company the key's owning analyst can see — an external dashboard is not a reason to widen what a key can reach.
Related pages
- Browser extension — Developer Guide — the endpoint, the payload keys, and the trap of being the second consumer of shared data
- Watchtower — the dashboard this mirrors
- Watchtower settings — the settings that shape what both of them count