On 14 November 2019, at 13:30, I presented at the Jamf Nation User Conference in Minneapolis, MN, USA, on the following topic:

Jamf Pro and AutoPkg: How JSSImporter automates package management and policy creation in Jamf Pro

This posts detail the contents of the session, including sections originally planned that I had to cut to fit into 45 minutes.

The slides can now be viewed here

The video is now available to view here:


Contents

  1. AutoPkg + JSSImporter - setup and use
  2. Understand and use standard JSS recipes
  3. Roll your own JSS recipes
  4. The future of JSSImporter

jssimporter-logo


Part 1: AutoPkg + JSSImporter - setup and use

What is AutoPkg?

Installing and configuring AutoPkg and JSSImporter

Manual installation

Alternative methods of installation and setup

AutoPkg from the command line

Searching for a recipe (searches repos in github.com/autopkg):

autopkg search iTerm2

Adding a repo (git clone a recipe):

autopkg repo-add jss-recipes

Getting info about a recipe:

autopkg info iTerm2.jss

Setting AutoPkg to fail if recipe are not trusted:

defaults write com.github.autopkg FAIL_RECIPES_WITHOUT_TRUST_INFO -bool true

Making a recipe override file (saved to ~/Library/AutoPkg/RecipeOverrides by default):

autopkg make-override iTerm2.jss

Making a recipe override file (saved to ~/Library/AutoPkg/RecipeOverrides by default):

autopkg make-override iTerm2.jss

Running a recipe:

autopkg run iTerm2.jss

Running a recipe with more verbosity:

autopkg run -v iTerm2.jss

Running a JSS recipe with maximum verbosity:

autopkg run -vvvv iTerm2.jss

Running multiple recipes in one command:

autopkg run iTerm2.jss Google\ Chrome.jss "Microsoft Office.jss"

Running recipes from a list in a text file:

autopkg run --recipe-list JSS_Recipes.txt

Updating all repositories (git pull all repos):

autopkg repo-update all

Verifying the trust information of a recipe with verbose output (git diff):

autopkg verify-trust-info -vv iTerm2.jss

Updating the trust information of a recipe:

autopkg update-trust-info iTerm2.jss

Getting notifications from AutoPkg runs


Part 2: How to understand and use Standard JSS recipes

Standard JSS recipe policy format:

  • Category Testing.
  • Self Service
  • Ongoing frequency
  • Policy name: Install Latest %NAME%
  • Package name %NAME%-%version%.pkg
  • Update Inventory set
  • Smart Group name: NAME-update-smart

The Standard Smart Group template creates groups as follows:

and-or ( / ) Operation operand value ( / )
    Application Title is %JSS_INVENTORY_NAME%  
and   Application Version is not %version%  
and   Computer Group is Testing  

Templates:

Recipe Override example: Atom.jss.recipe

Promoting recipes


Part 3: Roll your own JSS recipes

Standard recipes

JSSRecipeCreator - example command to make VLC.jss.recipe:

$ JSSRecipeCreator.py --auto ~/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes/VLC/VLC.pkg.recipe

Package-only recipes

JSSRecipeCreator - example command to make VLC.jss-upload.recipe:

$ JSSRecipeCreator.py --package_only --auto ~/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes/VLC/VLC.pkg.recipe

Script-only recipes

Production recipes


Part 4: The future of JSSImporter

New options

Feature Requests to upvote (please!)