Repository navigation
Fleet Dashboard
jamf-cli dashboard generates one self-contained HTML report covering fleet
health, security posture, audit findings and environment counts across Jamf Pro,
Jamf Protect and the Platform API. Alias: db.
The file carries no external assets, so you can attach it to a ticket or mail it to someone with no Jamf access. Its theme follows the reader's OS light/dark preference.
jamf-cli dashboard -p prod-pro --out-file report.htmlThree commands report on an instance and they are not interchangeable:
| Command | What it is |
|---|---|
dashboard |
A shareable cross-product HTML document |
pro overview |
The same fleet data as a terminal table |
pro dashboard |
Manages the Jamf Pro interface's own dashboard objects |
The default run is fixed-cost: fleet counts, security posture, OS distribution,
check-in compliance, audit findings and environment object counts. It costs
⌈C/500⌉ + ~22 requests for C computers, so it stays cheap on any fleet size.
--full adds patch compliance, hardware models, cleanup analysis, org structure
with per-category object counts, and the four audit checks whose cost grows with
the fleet or the policy count. It adds 2 requests per patch title, 1 per policy,
1 per configuration profile, and 1 per Mac or mobile app, mobile profile and
printer, reusing the fast tier's inventory pass. On a 10,000-device instance with
30 patch titles and 300 configuration objects that is roughly 500 further
requests and 60 to 120 seconds.
jamf-cli dashboard -p prod-pro --full --out-file full-report.html| Flag | Description |
|---|---|
--full |
Collect the extended sections; cost grows with instance size |
--include-profile |
Pull another product's profile into the same report (repeatable) |
--smart-groups |
Smart group names to visualize (repeatable) |
--title |
Report title (default Jamf Fleet Dashboard) |
The report covers the profile named by the global -p/--profile, then
JAMF_PROFILE, then the configured default. With no profile it falls back to
--url plus JAMF_TOKEN or JAMF_CLIENT_ID/JAMF_CLIENT_SECRET, the same
chain every other command walks.
--include-profile adds a second product to one report. The profiles must be of
different product types, since one report holds one set of each product's
sections. A platform profile already collects the Jamf Pro sections, so it cannot
be combined with a pro profile. Every profile is authenticated before any
collection begins.
jamf-cli dashboard -p prod-pro --include-profile prod-protect --out-file report.html
jamf-cli dashboard -p my-platform --include-profile my-protect --title "Q2 Fleet Report"A section for a product the credential cannot reach is omitted, not failed. A platform profile scoped to an environment with no Security Cloud tenant prints one warning per collection and still exits 0:
dashboard: Jamf Security Cloud is not available to this credential — omitting the section
Prefer the global --out-file. HTML goes to stdout, so a shell redirect also
captures the error envelope a partially-collected run writes there, which then
lands inside the report file itself.
These inherited global flags are not honoured: -o/--output, --field,
--select and --compact shape tabular output and mean nothing for an HTML
document, and -n/--dry-run has nothing to preview because the report is
read-only. --allow-partial-failure is honoured.
A report is written whether or not every section was collected, so a run that dropped one must not exit 0 by default: a pipeline treating the report as authoritative needs to know it is incomplete.
| Outcome | Exit |
|---|---|
| Every section collected, or a product omitted for lack of entitlement | 0 |
| Some sections collected, some failed | 7 |
Some failed, with --allow-partial-failure
|
0, with a warning |
| Nothing collected | The code that stopped the first fetch, e.g. 3 for auth |
An incomplete report also carries an in-HTML banner naming what is missing, so a
reader who has only the file is not misled by it. The per-section warnings
name each failure on stderr, and the structured error carries failed_sections
and total_sections.
The MCP server exposes this as the generate_report tool, which writes the file
into a configured directory and returns its path rather than the HTML itself. See
MCP Server. run_command refuses dashboard, because it returns a command's
stdout as tool text and the report is a 320 to 800 KB document.
-
MCP Server: the
generate_reporttool andconfig set-report-dir -
Claude Code Skills:
/jamf-reportdrives this through either route - Error Handling & Exit Codes: exit 7 and partial failure
-
Jamf Pro Commands:
pro overviewand the underlying audit checks
Repository · Issues · Releases
jamf-cli Wiki
- Home
- Community
- Getting Started
- CLI Reference
- Product Commands
- Workflows
- Configuration
- Reference
Products
- Jamf Pro:
jamf-cli pro - Jamf Platform API:
jamf-cli pro(blueprints, benchmarks, DDM reports) - Jamf Platform:
jamf-cli platform(AI Governance, Jamf Account, audit) - Jamf Protect:
jamf-cli protect - Jamf School:
jamf-cli school - Jamf Security Cloud:
jamf-cli security