Patch reporting simplified
Patcher leverages the Jamf Pro API to fetch patch management data and generate comprehensive reports in both Excel and PDF formats. It simplifies tracking and reporting on software update compliance across macOS devices managed through Jamf Pro.
- Fetches patch management data from a specified Jamf Pro instance.
- Generates reports in Excel format for detailed analysis.
- Creates PDF reports for easy sharing and presentation.
- Customizable report headers and footers through a simple configuration.
The following image can be found in the tools
directory.
Note
Patcher requires an API client for authentication. For instructions on creating an API Role & Client in Jamf Pro, refer to the Jamf Pro Deployment Guide in the wiki.
- Python 3.9+ (with pip).
- Git installed (via Homebrew or Developer Tools)
- Access to a Jamf Pro instance with administrator privileges (for API client creation).
- A Jamf Pro API Client with the following:
- Read Computers, Read Patch Reporting roles
- Client ID
- Client Secret
- Bearer Token (Optional, installer script can generate one for you)
- Run the Installer
bash -c "$(curl -fsSL https://raw.githubusercontent.com/liquidz00/Patcher/main/tools/installer.sh)"
- Follow the Installer Script Prompts The installer script will guide you through setting up your Jamf Pro instance details and installing project dependencies. Follow the prompts to enter your Jamf Pro URL, Client ID, and Client Secret. If you already have a Bearer Token, you can pass the value to the installer script, otherwise the installer script will generate one for you. You'll also be asked to customize the report header and footer text. Optionally, you can opt to use a custom font instead of the default font Assistant.
After installation, you can generate reports by running the main script. You can specify the output directory for the reports and choose to generate PDF reports alongside Excel files.
python3 patcher.py --path '/path/to/output/directory' [--pdf]
- The
--path
option specifies the directory where the reports will be saved. - The optional
--pdf
flag indicates if PDF reports should be generated in addition to Excel files.
For additional command options to use, visit the Command Options in the Wiki.
To customize the UI elements like header and footer text after the initial setup, edit the ui_config.py
file in the project directory. Changes will be reflected in subsequent reports.
Patcher is co-authored by Andrew Speciale - @liquidz00 and Chris Ball - @ball42. Contributions to Patcher are welcome! Please feel free to submit pull requests or create issues for bugs, questions, or new feature requests.