Repository navigation
JamfPackageUploader
Graham Pugh edited this page Sep 3, 2026
·
1 revision
A processor for AutoPkg that will upload a package to a JCDS or File Share Distribution Point.
Can be run as a post-processor for a pkg recipe or in a child recipe. The parent (pkg) recipe must output pkg_path as this is a required key.
-
pkg_name:
- required: False
- description: Package name. If supplied, will rename the package supplied in the pkg_path key when uploading it to the fileshare.
-
pkg_display_name:
- required: False
-
description: Package display name, which may be different to the
pkg_name. If not supplied, reverts topkg_name.
-
pkg_path:
- required: False
- description: Path to a pkg or dmg to import - **provided by previous pkg recipe/processor.
-
version:
- required: False
- description: Version string - **provided by previous pkg recipe/processor.
-
pkg_category:
- required: False
- description: Package category
-
pkg_info:
- required: False
- description: Package info field
-
pkg_notes:
- required: False
- description: Package notes field
-
pkg_priority:
- required: False
- description: Package priority.
- default: 10
-
reboot_required:
- required: False
- description: Whether a package requires a reboot after installation.
- default:
-
os_requirements:
- required: False
- description: Package OS requirement
-
required_processor:
- required: False
- description: Package required processor. Acceptable values are 'x86' or 'None'
- default: None
-
send_notification:
- required: False
- description: Whether to send a notification when a package is installed.
- default: 'False'
-
replace_pkg:
- required: False
- description: Overwrite an existing package if True.
- default: False
-
replace_pkg_metadata:
- required: False
- description: Overwrite existing package metadata and continue if True, even if the package object is not re-uploaded.
- default: False
-
skip_metadata_upload:
- required: False
-
description: For Jamf Cloud customers, skip the upload of package metadata. This allows a new package to be uploaded but will not write any metadata such as SHA512 hash, category, info, etc. This allows upload of packages with just
createandreadprivileges on package objects (otherwiseupdaterights are also required). Not for use by self-hosted Jamf customers, and not relevant in conjunction withjcds_mode. Note thatreplace_packagekey is not functional ifskip_metadata_uploadis set. - default: False
-
jcds_mode:
- required: False
- description: This option is no longer functional.
- default: False
-
jcds2_mode:
- required: False
- description: This option is no longer functional.
- default: False
-
aws_cdp_mode:
- required: False
-
description: Upload package to an AWS S3 CDP using
aws-clitools. These must be manually installed on the AutoPkg client. Requires theS3_BUCKET_NAMEkey to be populated. - default: False
-
recalculate:
- required: False
- description: Recalculate the cloud distribution point inventory. Requires Jamf Pro 11.10+ and a configured JCDS endpoint.
- default: False
-
JSS_URL:
- required: True
- description: URL to a Jamf Pro server to which the API user has write access.
-
API_USERNAME:
- required: False
- description: Username of account with appropriate API access to the Jamf Pro Server.
-
API_PASSWORD:
- required: False
- description: Password of account with appropriate API access to the Jamf Pro Server.
-
CLIENT_ID:
- required: False
- description: Client ID with access to access to jss, optionally set as a key in the com.github.autopkg preference file.
-
CLIENT_SECRET:
- required: False
- description: Secret associated with the Client ID, optionally set as a key in the com.github.autopkg preference file.
-
BEARER_TOKEN:
- required: False
- description: A pre-existing bearer token for the Jamf Pro API. If provided, the token will be validated and used directly, bypassing credential-based authentication.
-
JAMF_CLI_PROFILE:
- required: False
- description: A jamf-cli profile to use to obtain a bearer token. Requires jamf-cli to be installed and in the PATH. Set to a profile name to enable.
- default: ""
-
PLATFORM_API_REGION:
- required: False
- description: Region for Jamf Platform API Gateway (e.g., 'us1', 'eu1', 'au1'). Required for Platform API authentication.
- default: ""
-
PLATFORM_API_TENANT_ID:
- required: False
- description: Tenant ID for Jamf Platform API Gateway. Required for Platform API authentication.
- default: ""
-
CLOUD_DP:
- required: False
-
description: Indicates the presence of a Cloud Distribution Point. The default is deliberately blank. If no SMB DP is configured, the default setting assumes that the Cloud DP has been enabled. If at least one SMB DP is configured, the default setting assumes that no Cloud DP has been set. This can be overridden by setting
CLOUD_DPtoTrue, in which case packages will be uploaded to both a Cloud DP plus the SMB DP(s)."
-
SMB_URL:
- required: False
-
description: URL to a Jamf Pro file share distribution point which should be in the form
smb://server/shareor a local DP in the formfile://path. Subsequent DPs can be configured usingSMB2_URL,SMB3_URLetc. Accompanying username and password must be supplied for each DP, e.g.SMB2_USERNAME,SMB2_PASSWORDetc.
-
SMB_USERNAME:
- required: False
- description: Username of account with appropriate access to a Jamf Pro fileshare distribution point.
-
SMB_PASSWORD:
- required: False
- description: Password of account with appropriate access to a Jamf Pro fileshare distribution point.
-
SMB_SHARES:
- required: False
-
description: An array of dictionaries containing
SMB_URL,SMB_USERNAMEandSMB_PASSWORD, as an alternative to individual keys. Any individual keys will override this complete array. The array can only be provided via the AutoPkg preferences file.
-
show_upload_progress:
- required: False
- description: Show a curl progress bar during package upload.
- default: False
-
recalculate_wait_time:
- required: False
- description: Time to wait for recalculation to complete.
- default: 0
-
hash_poll_interval:
- required: False
- description: Seconds between polls when waiting for the server to compute the package hash after a JCDS upload.
- default: 15
-
hash_poll_timeout:
- required: False
- description: Maximum seconds to wait for the server to compute the package hash after a JCDS upload before treating it as a failure.
- default: 300
-
sleep:
- required: False
- description: Pause after running this processor for specified seconds.
- default: "0"
-
max_tries:
- required: False
- description: Maximum number of attempts to upload the account. Must be an integer between 1 and 10.
- default: "5"
-
dry_run:
- required: False
- description: If True, perform read-only checks and report what would change without making any writes.
- default: False
-
skip_if:
- required: False
- description: Skip the process if a supplied predicate is met.
-
pkg_path:
- description: The path of the package as provided from the parent recipe.
-
pkg_name:
- description: The name of the uploaded package.
-
pkg_uploaded:
- description: True/False depending if a package was uploaded or not.
-
jamfpackageuploader_summary_result:
- description: Description of interesting results.
-
process_skipped:
- description: Boolean - True if the process was skipped due to skip_if predicate resolved to True.
-
dry_run_summary_result:
- description: Summary of what would have been changed (only set when dry_run is True).
- Credentials
- Required privileges
- Configuration for distribution points
- JamfUploader as an alternative to JSSImporter
- Example recipes
- Uploading a package only
- Example Workflows
- JamfRecipeMaker
- AppStoreInfoProvider
- ConvertGroupXMLtoJSON
- JamfAccountUploader
- JamfAPIClientUploader
- JamfAPIRoleUploader
- JamfCategoryUploader
- JamfComputerGroupDeleter
- JamfComputerGroupUploader
- JamfComputerPreStageUploader
- JamfComputerProfileUploader
- JamfComputerStaticGroupUploader
- JamfDirectoryServiceGroupEncoder
- JamfDockItemUploader
- JamfExtensionAttributePopupChoiceAdjuster
- JamfExtensionAttributeUploader
- JamfIconUploader
- JamfMacAppUploader
- JamfMobileDeviceAppUploader
- JamfMobileDeviceExtensionAttributeUploader
- JamfMobileDeviceGroupUploader
- JamfMobileDeviceProfileUploader
- JamfMobileDeviceStaticGroupUploader
- JamfMSUPlanUploader
- JamfObjectDeleter
- JamfObjectReader
- JamfObjectStateChanger
- JamfObjectUploader
- JamfPackageCleaner
- JamfPackageRecalculator
- JamfPackageUploader
- JamfPatchChecker
- JamfPatchUploader
- JamfPkgMetadataUploader
- JamfPolicyDeleter
- JamfPolicyLogFlusher
- JamfPolicyUploader
- JamfSchemaLister
- JamfScopeAdjuster
- JamfScriptUploader
- JamfSoftwareRestrictionUploader
- JamfUnusedPackageCleaner
- JamfUploaderJiraIssueCreator
- JamfUploaderSlacker
- JamfUploaderTeamsNotifier
- Object Reference