If the app itself is going to be named the same and be in the same path, such as /Applications/Self Service.app
, then eventually the app icon in the Dock should refresh, especially after a full reboot or maybe even just a logout/login. If you want to force it to update, you could look at scripting a Self Service icon remove and add with something like dockutil. Dockutil can record the position of an icon. For example:
dockutil --find "Self Service"
Self Service was found in persistent-apps at slot 5 in /Users/username/Library/Preferences/com.apple.dock.plist
I have at times scripted recording the dock icon "slot" number in memory. Then doing a remove and adding a replacement app back in the same slot position in the Dock. You may be able to do something similar after pushing your new Self Service app.
Also, I assume you are manually deploying Self Service, rather than letting it download directly from the JSS upon enrollment. I think that would be necessary if branding it, unless there is a way to change the files on the server directly.
Why not have the policy remove and add back the dock icon? That should force it to update its appearance, albeit at the risk of shifting its position. Otherwise, dockutil[1] is your friend, but would require an additional installation of the tool.
dockutil --add /Applications/Self Service.app --replacing 'Self Service'
[1] https://github.com/kcrawford/dockutil