MDM: Jamf PRO - avogel-mac/Patch-Helper GitHub Wiki

Policy Settings

Follow Jamf's instructions to upload the Patch_Helper.sh script.

I recommend initially running the policy with debugMode set to true or verbose.
When debugMode is enabled, no jamf_api_client or jamf_api_secret is required. Instead, placeholders defined within the script will be used, allowing you to test whether all UI elements are displayed correctly.

By setting debugMode to verbose, the SwiftDialog window becomes resizable, enabling you to find the layout size that works best for your environment.
You can then define these window dimensions in the configuration profile, so the dialog appears consistently across all devices.

You will configure the script within a Jamf Pro policy and set the following values using script parameters:

Policy Configuration

  • Parameter 4 = jamf_api_client
    The API user you previously created

  • Parameter 5 = jamf_api_secret
    The corresponding secret key

  • Parameter 6 = debugMode (true [default] | false | verbose)
    If set to true or verbose, the script will not require any API credentials and will instead run only the predefined placeholder policies.

Note: The Jamf Pro URL is automatically detected on the device.


Configuration Profiles for the Script

Additional settings for the script can be managed through a configuration profile.
You can choose between the following two JSON templates when creating your configuration profile:

1. PatchHelper_Settings_with_pre-filled_text.json

  • This version includes predefined values and localized text.
  • Text elements are selectable via dropdown and can be customized after selection.

2. PatchHelper_Settings.json

  • This version includes predefined structure and values, but only English text is provided by default.
  • You will need to create your own text entries in other languages if needed.

Please make sure that all placeholders defined with %% in the script are replaced with valid values through the configuration.

Here is a sample excerpt from a configuration profile based on the PatchHelper_Settings_with_pre-filled_text.json template:

Configuration Profile Sample


To display a matching icon for each application in the SwiftDialog window, a separate JSON file named icon_service.json is used.
This file is also deployed to the devices via a configuration profile:

Icon Service Profile

The script will use this JSON to locate and display the appropriate icon for each application.