All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
GLPI helpdesk workflow skills written against the portable tools/glpi/ tooling (session-init.sh, ticket-list.sh, ticket-create.sh), cross-linked via [[glpi-*]]: - glpi-solve — close a ticket by setting status Solved (5); GLPI auto-closes - glpi-followup — add a followup via the top-level /ITILFollowup endpoint - glpi-sweep — read-only hunt for done-but-open tickets needing Solve - glpi-list — query tickets by status/recency - glpi-create — open a new ticket Core rule encoded: completing work means setting status Solved, not just posting a resolution followup (a followup documents; only Solved auto-closes). Note: illustrative examples in the bodies are USC-flavored (M2M / helpdesk ticket numbers) and can be genericized in review if preferred. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019GjBgrb9tHgvq414Fqj37c
1.7 KiB
1.7 KiB
Skill: glpi-list — Query GLPI Tickets
Quick lookups of GLPI helpdesk tickets by status or recency. Read-only.
When to use
- "What tickets are open / pending?" · "Show recent tickets" · finding a ticket ID before running glpi-followup or glpi-solve.
Command
Wraps the existing tooling:
GLPI=~/.config/mosaic/tools/glpi
# Most recent tickets (default 50, newest first)
"$GLPI/ticket-list.sh"
# Filter by status: new | processing | pending | solved | closed
"$GLPI/ticket-list.sh" -s pending
# JSON output (for parsing / piping to jq) and a custom limit
"$GLPI/ticket-list.sh" -s processing -f json -l 20
Status IDs: 1 New · 2/3 Processing · 4 Pending · 5 Solved · 6 Closed.
Details lookup for one ticket
When you have an ID and want the full record:
SESSION=$(~/.config/mosaic/tools/glpi/session-init.sh -q)
source ~/.config/mosaic/tools/_lib/credentials.sh && load_credentials glpi
curl -sk "${GLPI_URL}/Ticket/<id>?expand_dropdowns=true" \
-H "App-Token: $GLPI_APP_TOKEN" -H "Session-Token: $SESSION" \
| jq '{id, name, status, date, date_mod}'
# Followups on a ticket
curl -sk "${GLPI_URL}/Ticket/<id>/ITILFollowup" \
-H "App-Token: $GLPI_APP_TOKEN" -H "Session-Token: $SESSION" \
| jq '.[] | {date, content}'
(Reading followups via the sub-resource is fine — only creating them requires the
top-level /ITILFollowup endpoint. See glpi-followup.)
Present to user
Group by status, one line per ticket: #<id> · <title> · <status> · <last-modified>.
Use neutral phrasing — no "OVERDUE"/"URGENT".
Guardrails
- Read-only. Never echo GLPI tokens.
- To sync tickets into brain data instead, use
python tools/sync_glpi.py(not this skill).