jctl
is a command line tool that performs CRUD (Create/Read/Update/Delete) operations on a Jamf Pro or Jamf Cloud server. It can automate repetitive tasks and provide options not available in the web GUI. It uses and is the primary driver of python-jamf
, which is a Python 3 module for the Jamf Pro Classic API.
There are a few other tools that are part of this project. pkgctl
is automates various operations with packages, such as promotion and creating patch definitions. patch.py
is a deprecated script designed to automate the patching process. It is still part of the project because it can do a few things that jctl
can't. However, it is not being tested. update_asset_tags.py
was demoed at the 2021 JNUC presentation Turn 1000 clicks into 1 with python-jamf and jctl. We decided to include it here. It is not being tested either.
jctl
only supports 56 Jamf Pro record types. python-jamf
can access all record types. python-jamf
stores the Jamf Pro credentials in the keychain using keyring (instead of cleartext, like all other Jamf API projects that we know of).
If you don't have Python installed, you need to read about Installing Python on the wiki.
- Install Module & Requirements:
sudo pip3 install jctl
- On your Jamf Pro server create a Jamf Pro API User
- Config:
conf-python-jamf
- Enter hostname, username, and password
- Test:
conf-python-jamf -t
Uninstalling jctl
is easy if you installed it via pip
. pip
is the Package Installer for Python.
To uninstall jctl
run the following command:
sudo pip3 uninstall jctl
Upgrading jctl
is easy if you installed it via pip
. pip
is the Package Installer for Python.
To upgrade jctl
run the following command:
sudo pip3 install --upgrade jctl
For further in-depth details please check out the wiki.
To search this wiki use the "Search" field in the GitHub navigation bar above. Then on the search results page select the "Wiki" option or click here and search.
If you have additional questions, or need more help getting started, post a question on the MacAdmin's Slack jctl channel.
See the releases page for details.
See jctl
upgrade documentation to upgrade to latest release.