We just dropped v9.93 of the Casper Suite today and there’s a powerful new feature being included to enable our power users to build deeper integrations with the product: webhooks.
For a while now the JSS has had the Events API: a Java based API for building plugins that could be installed on the server. The Events API allowed developers to write automations that were triggered by real time events in the JSS. While powerful, the Events API has had a high barrier to entry due to being Java based and requiring access to the JSS server to install the jar file (JAMF Cloud customers would have a hard time with this).
Webhooks in v9.93 are built on top of the Events API. Like other modern web apps, the JSS webhooks translate events from the Events API into outbound HTTP requests to a URL of your choosing in either JSON or XML format.
If you’ve used the JSS REST API before then you are already familiar with using HTTP POST requests and working with XML. Many of us are also very fluent in parsing and manipulating JSON. Webhooks takes an advanced feature of the JSS and translates it into a format we all know how to work with and allows you to use whatever programming language you’re most comfortable with!
If you’re looking to get started, you can find reference documentation on all of the available webhooks here along with some supporting articles: https://unofficial-jss-api-docs.atlassian.net/wiki/display/JRA/Webhooks+API
A number of examples for integration ideas can be found here on GitHub: https://github.com/brysontyrrell/Example-JSS-Webhooks
This collection will grow over time and include some ideas from the community. Use these as references and starting points, but always test Test TEST before you use anything in a production environment. Also, if you want to suggest changes or add other examples to the repo send a pull request!
If you’re planning on building new tools, plugins or integrations with the Webhooks feature, please share that here!