Add an osTicket integration: list open tickets from its database
osTicket's own REST API only supports creating tickets, not listing or reading them, so this reads osTicket's MySQL/MariaDB database directly with a read-only user instead - the only integration in this app that isn't a REST API. Joins the ticket, status, priority, department, staff, team, and user tables, filtered to tickets in the "open" state (status names are customizable per install, but that state flag isn't). Surfaces per-ticket subject, priority, department, assignee, requester, and osTicket's own overdue/awaiting-reply flags, plus a page at /osticket and a Dashboard widget with open/overdue/awaiting-reply counts. Not verified against a live instance: unlike the HTTP-based integrations, there was no way to fake a MySQL server to test against in this environment, so the query is built from osTicket's published schema but has never actually run against a real database. See INTEGRATIONS.md for the read-only grant needed and further caveats. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
69e9325927
commit
de5c39dddf
20 files changed
+754
-12
No files matched your search
@@ -3,8 +3,8 @@
|
||||
Repository: `git@10.200.5.13:bobban/Homelab-manager.git` ([gitea.labsconnect.se/bobban/Homelab-manager](https://gitea.labsconnect.se/bobban/Homelab-manager) externally).
|
||||
|
||||
A single dashboard for a homelab: Proxmox, Synology DSM, Semaphore, Tailscale,
|
||||
Gitea, Dockhand/Docker, Uptime Kuma, and Proxmox Backup Server status and basic
|
||||
actions, plus DNS record
|
||||
Gitea, Dockhand/Docker, Uptime Kuma, Proxmox Backup Server, and osTicket status
|
||||
and basic actions, plus DNS record
|
||||
management, an IP address inventory (IPAM), and a secret-expiry tracker
|
||||
(ported from [Sloth Manager](../Sloth%20manager)) and scheduled-task tracking
|
||||
across Debian/Raspbian hosts (ported from
|
||||
@@ -40,9 +40,11 @@ All modules from the original plan are built:
|
||||
many are matched to one of your servers.
|
||||
The Proxmox Backup Server widget shows the datastore count and how many
|
||||
stored snapshots have failed verification or were never verified.
|
||||
The osTicket widget shows how many tickets are open, overdue, and awaiting
|
||||
a staff reply.
|
||||
- **Diagnostic Log** (admin-only) — every call this app makes to a DNS
|
||||
provider or integration (Tailscale, Proxmox, Synology, Semaphore, Gitea,
|
||||
Dockhand, Uptime Kuma, Proxmox Backup Server), success or failure, with latency and the error message if it
|
||||
Dockhand, Uptime Kuma, Proxmox Backup Server, osTicket), success or failure, with latency and the error message if it
|
||||
failed — the last 500 calls, filterable by source/result, for
|
||||
troubleshooting connectivity issues (ported from Sloth Manager's
|
||||
provider-diagnostics log, generalized to cover every integration this app
|
||||
@@ -83,9 +85,9 @@ All modules from the original plan are built:
|
||||
link options") — it stays visible regardless once a server actually is
|
||||
linked, so unlinking is always reachable.
|
||||
- **Tailscale**, **Proxmox**, **Synology**, **Semaphore**, **Gitea**,
|
||||
**Docker**, **Uptime Kuma**, and **Proxmox Backup Server** each get their
|
||||
own top-level page (backed by the matching integration) instead of living
|
||||
inside a shared Integrations browsing view:
|
||||
**Docker**, **Uptime Kuma**, **Proxmox Backup Server**, and **osTicket**
|
||||
each get their own top-level page (backed by the matching integration)
|
||||
instead of living inside a shared Integrations browsing view:
|
||||
- **Tailscale** — device list with online/authorized status, and
|
||||
authorize/deauthorize/remove actions; a live device-count widget.
|
||||
- **Proxmox** — VM/LXC status across every node in the cluster, with
|
||||
@@ -124,11 +126,18 @@ All modules from the original plan are built:
|
||||
still passes; a daily check alerts on any snapshot that's failed
|
||||
verification or a datastore that couldn't be read. Read-only, no
|
||||
actions (nothing here can prune, delete, or trigger a re-verify).
|
||||
- **osTicket** — every currently open ticket, with its status, priority,
|
||||
department, assigned staff member or team, requester, and two flags
|
||||
worth a glance on their own: **overdue** and **awaiting our reply**.
|
||||
osTicket's own REST API only supports *creating* tickets, not listing
|
||||
them, so this reads osTicket's MySQL/MariaDB database directly with a
|
||||
read-only user — the only integration here that isn't a REST API.
|
||||
Read-only, no actions.
|
||||
|
||||
The Integrations page itself is now just a list of configured
|
||||
integrations (name/type/status, visible to every role) with an
|
||||
admin-only "Add integration" button and edit/enable/disable/delete
|
||||
actions per row — the eight dedicated pages above are where you
|
||||
actions per row — the nine dedicated pages above are where you
|
||||
actually use each one.
|
||||
- Every table in the app is click-to-sort on any column (numbers, booleans,
|
||||
and dates/text sort correctly regardless of how the column formats them)
|
||||
@@ -164,8 +173,8 @@ assumed HTTPS-only (the NAS is reached over plain HTTP), and the Tailscale
|
||||
adapter read `online`/`isExitNode` fields that don't actually exist in the
|
||||
real API response (fixed to derive them from `connectedToControl` and
|
||||
`enabledRoutes`). See the git log for the full verification notes per
|
||||
integration. (Uptime Kuma and Proxmox Backup Server, added later, are not
|
||||
part of that "six" — see their own git log entries, and
|
||||
integration. (Uptime Kuma, Proxmox Backup Server, and osTicket, added
|
||||
later, are not part of that "six" — see their own git log entries, and
|
||||
[INTEGRATIONS.md](INTEGRATIONS.md), for what was and wasn't verified
|
||||
against a real instance.)
|
||||
|
||||
|
||||
Reference in new issue
Block a user