jumpserver-skills is a query, audit investigation, and template-based usage reporting toolkit for JumpServer V3.10 LTS, including enterprise XPack support. It covers object lookup, permission readback, audit investigation, governance inspection, access analysis, and bastion usage reports for a specific day or time range.
Requests are routed to three formal entrypoints: jms_query.py, jms_diagnose.py, and jms_report.py. The repository stays read-only by default.
- Prepare
.envin the repository root (copy from.env.example). - Run preflight:
python jumpserver-runtime-setup/scripts/jms_diagnose.py config-status --json, thenping. - Call the formal entrypoints for queries, diagnostics, or reports.
For enterprise deployments, verify the license with python jumpserver-governance-inspection/scripts/jms_diagnose.py license-detail.
| Capability Group | Suitable Requests | Entrypoint | Notes |
|---|---|---|---|
| Object queries | assets, accounts, users, orgs, platforms, nodes, labels, domains | jms_query.py |
Domain path: /api/v1/assets/domains/ |
| Permission relationships | permission rules, ACL, RBAC, authorization details | jms_query.py / jms_diagnose.py |
Read-only |
| Audit investigation | login, session, command, file transfer investigations | jms_query.py |
Logs and event-level details |
| Configuration and diagnostics | config checks, connectivity, org switching, license | jms_diagnose.py |
Preflight and governance checks |
| User effective access | which assets, nodes, accounts, or protocols a user can use | jms_diagnose.py |
Effective access first |
| Governance inspection | capability aggregation, settings, license, tickets | jms_diagnose.py |
Includes XPack license query |
| Usage reports | daily or time-range usage overviews and HTML reports | jms_report.py |
Full HTML report output |
Seven submodules plus a shared runtime in jumpserver-api/. Each submodule exposes local scripts/*.py entrypoints. See references/single-skill-registration.md when only one submodule can be registered.
python jumpserver-runtime-setup/scripts/jms_diagnose.py select-org --org-name Default
python jumpserver-effective-access/scripts/jms_diagnose.py user-assets --org-name Default --username admin
python jumpserver-object-query/scripts/jms_query.py object-list --resource domain
python jumpserver-governance-inspection/scripts/jms_diagnose.py license-detail
python jumpserver-governance-inspection/scripts/jms_diagnose.py inspect --capability hot-assets-ranking --days 30 --top 10Provide JMS_API_URL plus either JMS_ACCESS_KEY_ID/JMS_ACCESS_KEY_SECRET or JMS_USERNAME/JMS_PASSWORD. Optional: JMS_ORG_ID, JMS_TIMEOUT, JMS_VERIFY_TLS.
| File | Purpose |
|---|---|
| SKILL.md | top-level routing rules |
| references/api-reference.md | V3.10 LTS API and XPack reference |
| references/routing-playbook.md | routing and blocking rules |
| references/capabilities.md | capability catalog |
| DEVELOPMENT.md | development guide |
No business write operations, no ad hoc HTTP scripts, and no guessing when objects or organizations are unclear.