Open Self Service with URL results in error

Thrawnium06
New Contributor II

We have various shell scripts in which we open or directly execute a policy in the self service as follows:

 

 

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

 

 

Since the update from 11.4.1 to 11.7.1, we have noticed the problem that the following error message appears when we open / execute such a policy (unfortunately I can't insert a screenshot, I don't seem to have any permissions):

Self Service quit unexpectedly.
Click Reopen to open the application again.
Click Report to see more detailed information and send a report to Apple.

 

if you first open the Self Service app and then execute the command, it works.
Does anyone else have this problem?

Our workaround is now to open self Serivce first, and then wait with a sleep 5 until hopefully the app is started, so that the URL command can be executed afterwards.

 

 

open "/Applications/Self Service.app"
sleep 5
open "jamfselfservice://content?entity=policy&id=54&action=view"

 

 

This works, but is suboptimal, as the 5 seconds are either too long or too short, depending on the Mac model.
Is there a way to check via shell script when an application has been started 100%? And is not still starting?

1 ACCEPTED SOLUTION

sdagley
Esteemed Contributor II

@Thrawnium06 The Self Service crash when launched via a URL is a known PI (I don't have the number handy at the moment) introduced in 11.6. It is slated to be fixed in the 11.9 update due out ¯\_(ツ)_/¯ 

Jamf's suggested workaround until 11.9 is installed is to use a LaunchDaemon to keep Self Service running at all times.

View solution in original post

3 REPLIES 3

sdagley
Esteemed Contributor II

@Thrawnium06 The Self Service crash when launched via a URL is a known PI (I don't have the number handy at the moment) introduced in 11.6. It is slated to be fixed in the 11.9 update due out ¯\_(ツ)_/¯ 

Jamf's suggested workaround until 11.9 is installed is to use a LaunchDaemon to keep Self Service running at all times.

Thrawnium06
New Contributor II

@sdagley Thank you for your quick response and the information!

joshuasee
Contributor III

If you have JSS download privileges connected to your Jamf account, you can get older versions of Self Service by tearing apart the WAR file. Download an older JSS for manual installation, run unzip on ROOT.war, and look in the resulting bin folder for Self Service as an installer package or gzipped tarball. The level 1 folder usually has the newest version for a given release.