PatchCLI
A command line tool for generating Jamf Pro patch definitions, patch updates, and built-in integration to Patch Server and CommunityPatch APIs.
WARNING: This tool is under active development and the CLI interface and features will be changing frequently between updates.
Install
PatchCLI can be installed from the Python Package Index:
$ pip install patchlib
The patchlib module contains the patchcli command.
About
Basic Usage
$ patchcli -h
usage: patchcli [-h] [-v] [-P PROFILE] {patch,validate,api,create_profile} ...
PatchCLI is a command line tool for Jamf Pro patch definition management.
Global Options:
-h, --help show this help message and exit
-v, --version Display version information.
-P PROFILE, --profile PROFILE
The Patch API profile name to use.
Commands:
patch Create a new definition JSON file
validate Validate an existing definition JSON file.
api Perform quick interactions with the Patch APIs.
create_profile Create a profile to use the Patch API integrations.
Patch Command
$ patchcli patch -h
usage: patchcli patch [-h] [-o <output_dir>] [-p <publisher_name>] [-n <name>]
[-e <ext_att_path>] [--app-version <version>]
[--min-sys-version <version>] [--patch-only]
path
positional arguments:
path Path to the application
optional arguments:
-h, --help show this help message and exit
-o <output_dir>, --output <output_dir>
Directory path to write JSON file
-p <publisher_name>, --publisher <publisher_name>
Provide publisher name for a full definition
-n <name>, --name <name>
Provide the display name for a full definition
-e <ext_att_path>, --extension-attribute <ext_att_path>
Path to a script to include as an extension attribute
* You can include multiple extension attribute
arguments
--app-version <version>
Provide the version of the app (override
CFBundleShortVersionString)
--min-sys-version <version>
Provide the minimum supported version fo macOS for
this app (e.g. 10.9)
--patch-only Only create a patch, not a full definition
Validate Command
$ patchcli validate -h usage: patchcli validate [-h] [-p] path positional arguments: path Path to the definition JSON file. optional arguments: -h, --help show this help message and exit -p, --patch Validate a patch, not a full definition.
API Commands
$ patchcli api -h
usage: patchcli api [-h] {list_titles,get_title} ...
optional arguments:
-h, --help show this help message and exit
API Commands:
list_titles List available software titles
get_title Get a software title definition
Patch API Profiles
$ patchcli create_profile -h
usage: patchcli create_profile [-h] [-n <profile_name>] [-t <api_token>]
(--ps <patch_server_url> | --cp | --cpb)
[--overwrite]
optional arguments:
-h, --help show this help message and exit
-n <profile_name>, --name <profile_name>
Profile name
-t <api_token>, --token <api_token>
The API token
--ps <patch_server_url>, --patch-server <patch_server_url>
The URL to a local Patch Server instance
--cp, --community-patch
Use the Community Patch service
--cpb, --community-patch-beta
Use the Beta Community Patch service
--overwrite Overwrite an existing profile of the same name.
PatchLib
Import and use the API clients for Patch Server and CommunityPatch.
History
Versions
0.3.0 (2018-10-31)
Added api and create_profile commands. New options allow basic API access with the command line interface and will be expanded to include more features and integrate directly into the patch command.
0.2.2 (2018-10-29)
Fix setup.py issues preventing installation via pip.
0.2.1 (2018-10-29)
Readme typos.
0.2.0 (2018-10-27)
Updated CLI interface to use sub-commands. All previous functionality of the patchstarter.py script has been moved into the patch command.
Added a validate command that allows a user to perform a schema validation on manually created/edited definition files prior to uploading to a patch server.
0.1.0 (2018-10-25)
Repository setup. Port existing patchstarter.py functionality as-is.
Metadata
Release files for patchlib 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| patchlib-0.3.0.tar.gz | 12.5 kB | Without provenance | Details |
Release files / patchlib-0.3.0.tar.gz
| Download URL | patchlib-0.3.0.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1dd4d497188728b53b0063358d1a3eab7091a8cbb9f6b7fa54fdde1642d360d6
|
|
BLAKE2b-256 checksum How to use checksums |
ce393118efaf8fed419d54bfecb09d50852f61751746e7afcb701146a0616417
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/2.7
|
Security for patchlib 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.