JSS Webhooks with v9.93

BrysonTyrrell
Contributor II

Hey everyone!

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!

7 REPLIES 7

brad
Contributor

@brysontyrrell I am excited to get started with Webhooks! This will be a great start. Thank you for sharing!

lashomb
Contributor II

Awesome!

BrysonTyrrell
Contributor II

I updated the README with some more information and added an example for sending an email on mobile device enroll and un-enroll events:

https://github.com/brysontyrrell/Example-JSS-Webhooks

iJake
Valued Contributor

This is great! Thanks so much

BrysonTyrrell
Contributor II

BrysonTyrrell
Contributor II

@bofh made the second contribution to the examples repo with PHP Webhook Processing:

https://github.com/brysontyrrell/Example-JSS-Webhooks#php-webhook-processing
https://github.com/brysontyrrell/Example-JSS-Webhooks/tree/master/PHP-Webhook-Processing

Also, @ChrisL has updated his ruby-jss library with a new webhooks framework and posted about it here:
https://jamfnation.jamfsoftware.com/discussion.html?id=21127

h_stamerjohann
New Contributor III

Here's another "practical use" example with JAMF Webhooks. As presented during macad.uk 2017 conference: connect Jamf Pro with Webhooks
We use this heavily for event logging outside of JSS into elastic stack (formerly known as ELK).

Functionality will be part of Zentral open source upcoming release (scheduled end of feb 2017): https://github.com/zentralopensource/zentral