Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
1.5 KiB
1.5 KiB
GLPI Tool Suite
Manage GLPI IT service management (tickets, computers/assets, users).
Prerequisites
jqandcurlinstalled- GLPI credentials in
~/src/jarvis-brain/credentials.json(or$MOSAIC_CREDENTIALS_FILE) - Required fields:
glpi.url,glpi.app_token,glpi.user_token
Authentication
GLPI uses a two-step auth flow:
session-init.shexchanges app_token + user_token for a session_token- All subsequent calls use the session_token + app_token
The session token is cached at ~/.cache/mosaic/glpi-session and auto-refreshed when expired.
Scripts
| Script | Purpose |
|---|---|
session-init.sh |
Initialize and cache API session |
computer-list.sh |
List computers/IT assets |
ticket-list.sh |
List tickets (filter by status) |
ticket-create.sh |
Create a new ticket |
user-list.sh |
List users |
Common Options
-f json— JSON output (default: table)-l limit— Result count (default: 50)-h— Show help
API Reference
- Base URL:
https://help.uscllc.com/apirest.php - Auth headers:
App-Token+Session-Token - Pattern: RESTful item-based (
/ItemType/{id})
Examples
# List all tickets
~/.config/mosaic/tools/glpi/ticket-list.sh
# List only open tickets
~/.config/mosaic/tools/glpi/ticket-list.sh -s new
# Create a ticket
~/.config/mosaic/tools/glpi/ticket-create.sh -t "Server down" -c "Web server unresponsive" -p 4
# List computers as JSON
~/.config/mosaic/tools/glpi/computer-list.sh -f json