Self Service+ URL Schemes

emily
Valued Contributor III
Valued Contributor III

emily_1-1743103580634.png

Hey folks! Dropping in for another quick Self Service+ post on how to:

  • determine available URL schemes for a macOS app (in this example, Self Service+.app)
  • how to map policy URLs from Jamf Pro to the new schema and have the actions load within Self Service+

The Self Service app has historically supported URL schemes to automatically run a policy or open the app directly to a description of a given policy. Within the Self Service settings of an app policy in Jamf Pro there are installation and description URLs provided. Those URLs tie into URL schemes for the Self Service app, and can be launched in scripts and by sharing them directly via link.

emily_0-1743102700583.png

For example, running the simple Terminal command open "jamfselfservice://content?entity=policy&id=392&action=view" one can launch Self Service classic and deep link right into a policy and view the description.

Self Service+ also includes this functionality, though the URL schemes are not displayed in Jamf Pro for policies yet. To find the available URL scheme for an app on macOS (in this example, Self Service+.app) PlistBuddy can be used to parse the Info.plist of the application and extract the CFBundleURLTypes:

/usr/libexec/PlistBuddy -c "Print :CFBundleURLTypes" "/Applications/Self Service+.app/Contents/Info.plist" 

 The array that returns will show the available URL schemes that the application supports.

/usr/libexec/PlistBuddy -c "Print :CFBundleURLTypes" "/Applications/Self Service+.app/Contents/Info.plist"
Array {
    Dict {
        CFBundleURLSchemes = Array {
            selfservicenotification
        }
    }
    Dict {
        CFBundleURLSchemes = Array {
            selfservicecapability
        }
    }
}

As of this writing selfservicecapability is the main URL scheme to trigger policy actions within the app catalog component of Self Service+. Meaning, if you take:

open "jamfselfservice://content?entity=policy&id=392&action=view"

and want that policy to run in Self Service+ instead of Self Service classic, the URL scheme would update to:

open "selfservicecapability://content?entity=policy&id=392&action=view"

(For those curious, that is the ID of our Zoom installer policy on computers managed by Jamf IT.)

For admins interested in having policies run in one app versus the other, knowing that base URL scheme from the app makes some of that possible.

Hope this is helpful!

Related resources:

1 REPLY 1

Jordy-Thery
Contributor II

Thank you, Emily!