Jamf Pro

This article provides step-by-step instructions to implement the App Catalog using Jamf Pro. It includes both configuring the Catalog Agent, the user facing Catalog App and how to install and update applications.

Requirements

  • At least an account with Full Access and privileges to Configuration Profiles, Policies and Scripts

Configuration Profile

  • A Configuration Profile is needed to activate and configure the App Catalog. There are two options:

    • Basic: Go to the App Catalog Customer Portal to get a Configuration Profile to get you started right away with basic settings including the Supporting Configuration Profiles

    • Custom: Read the documentation to create a custom (advanced) configuration profile to meet your requirements.

  • When your Configuration Profile is ready, login on your Jamf Pro instance

  • For Basic, go to Computers -> Configuration Profiles -> Upload

  • For Custom, and go to Computers -> Configuration Profiles -> New

    • Provide a Name such as App Catalog Configuration

    • Select Application & Custom Settings -> External Applications -> Add -> Source -> Custom Schema -> Add Schema and upload the JSON Manifest below:

    • Set the Preference Domain to nl.root3.catalog

    • Populate Authorization field with the authorization provided by Root3 Support

    • Click Add/Remove properties and select the preference keys to include in the Configuration Profile

    • Populate the additional fields depending on your needs

  • Select the tab Scope and scope the Configuration Profiles to users or devices and Save

Supporting Configuration Profiles

To fully enable the App Catalog, some additional profiles are needed such as a Notifications payload, a Managed Login Item payload and PPPC. Go to the following pages, create Configuration Profiles or download a provided example:

pageGranting User NotificationspageManaged Login ItempageApp Management (PPPC)

To add the Configuration Profiles to Jamf Pro, follow these steps for each profile:

  • When your Configuration Profile is ready, go to Computers -> Configuration Profiles -> Upload

  • Select the .mobileconfig file

  • Select the tab Scope and scope the Configuration Profiles to users or devices and Save

Jamf Pro should automatically recognize the contents of the .mobileconfig file and show the configuration in the user interface.

Installing Apps

To install apps, the Catalog Agent needs to be installed and called with the Bundle Identifier as described in Installing Apps and needs to be done in a small script. Jamf Pro support using variables (parameters) in Shell Scripts and therefore a single script can be added and used for every app by dynamically populating the Bundle Identifier into the script from a policy. Follow these steps to create and add the app installation script:

  • Copy the script from below. This script will also take care of the installation of the App Catalog if not already installed:

#!/bin/zsh --no-rcs

# Install App Catalog when not installed yet
if [[ ! -f "/usr/local/bin/catalog" ]]; then
  curl -sSL https://cdn.appcatalog.cloud/install_app_catalog.zsh | zsh
fi

# Install app
/usr/local/bin/catalog --install "${4}"
  • Go to Settings -> Scripts -> New

  • Provide a name such as Install App from App Catalog

  • Go to the Script tab and paste the script

  • Go to the Options tab and and populate the Parameter 4 field with Bundle Identifier

  • Save the script

  • To use the script, a Policy is needed, go to Computers -> Policies -> New

  • Provide a name such as Install Google Chrome

  • Go to Scripts select Configure and add the script Install App from App Catalog

  • Copy the app Bundle Identifier from appcatalog.cloud

  • Populate the field Bundle Identifier with the app's Bundle Identifier

  • Finish the Policy configuration as you like, such as the preferred trigger or Self Service

  • Select the tab Scope and scope the Policy to users or devices and Save

Bonus: when showing an app in Self Service, AdminMode in the Catalog App provides a Self Service friendly PNG icon

Catalog Agent Last Updated - Extension Attribute

Using an Extension Attribute in Jamf Pro, you can read the date and time when the update schedule last ran. This can be very helpful for compliance and create reports. The App Catalog automatically submits an inventory update once the update schedule was completed to immediately get confirmation in Jamf Pro in the Extension Attribute.

  • Download the Extension Attribute script above

  • Go to the Jamf Pro -> Settings -> Computer management -> Extension attributes

  • Click New

  • Display Name: Catalog Agent Last Updated

  • Data Type: Date

  • Change Input Type to Script

  • Paste the script and click Save

  • Optionally add the EA as a column in the Inventory Display settings

Updating Apps (macOS 12 only)

This step is only required for macOS 12 because macOS 13 and later automatically handles updates autonomously when the UpdateInterval key is configured.

Updating apps is similar to installing apps, the Catalog Agent needs to be called with the --update argument as described in Updating Apps using a small script. This script will also take care of the installation of the App Catalog if not already installed.

Follow these steps to add such this script:

  • Copy the script from below:

#!/bin/zsh --no-rcs

# Install App Catalog when not installed yet
if [[ ! -f "/usr/local/bin/catalog" ]]; then
  curl -sSL https://cdn.appcatalog.cloud/install_app_catalog.zsh | zsh
fi

# Update apps
/usr/local/bin/catalog --update
  • Go to Settings -> Scripts -> New

  • Provide a name such as Update Apps from App Catalog

  • Go to the Script tab and paste the script

  • Save the script

  • To use the script, a Policy is needed, go to Computers -> Policies -> New

  • Provide a name such as Update Apps from App Catalog

  • Go to Scripts select Configure and add the script Update Apps from App Catalog

  • Suggested is to finish the policy by checking Recurring Check-in and setting the Execution Frequency to Once every day

  • Select the tab Scope and scope the Policy to users or devices and Save

  • All managed and unmanaged apps with updates will now be updated on the next check-in every day

🎉 That's it, you have succesfully configured the App Catalog for Jamf Pro!

Last updated