Last updated:
0 purchases
patchlib 0.3.0
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.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.