In a previous post, I had written about a workflow utilizing jamJAR for installing Apple software updates on top of Final Cut Pro installations. For the unfamiliar, jamJAR is an open source a tool which allows environments that have a Jamf and a munki to use Jamf policies to install software from a
munki_repo. Huge shoutout to the folks at dataJAR for making such a great tool!
In a number of environments using jamJAR, individual policies are configured in Jamf for each individual software title. Each policy acts as the mechanism which ensures that the latest deployed version of a particular software title is installed, running on a periodic schedule. Here’s how it works. In our environment however, we utilize jamJAR primarily as a way for users to trigger software installs through Self Service.
Up until recently, jamJAR was limited in that for each install & uninstall script parameter you could only enter the name of a single software title that existed in your
munki_repo. This was limiting for us, as we had several policies in Self Service that required the install or uninstall of more than one item.
Additionally, jamJAR automatically triggers a Jamf inventory update if it detects something was installed or uninstalled. This meant that we had to create a workaround involving a single Jamf policy which triggered multiple other policies via Custom Trigger, each triggered policy would cause its own separate inventory update. As a result, this greatly increased the time to complete.
Being a more familiar
bash scripter, I tried my hand at writing a separate script to write the installs and uninstalls to munki’s
LocalOnlyManifest just like jamJAR.py did. However, I wasn’t happy with the result. As a total Python novice, but determined to figure this out, I decided to roll up my sleeves and play around with how to potentially accomplish multiple installs and uninstalls with jamJAR.py in one policy.
Ultimately I found that adding this multi-item support wasn’t as difficult as I thought. With only a few small changes I was able to achieve the desired result. Now per the 1.2 version of the jamJAR.py script, you can supply one or more install items! Take a look at the wiki for more info.
If you’re a Jamf Admin and don’t yet have a munki, you may want to take a look at the Munki for the Jamf Admin wiki page. As of this writing it’s still a work-in-progress, but the purpose is meant to help those already familiar with Jamf get started with munki so you can utilize jamJAR.