Skip to main content
Question

JSS Webhooks with v9.93

  • August 2, 2016
  • 7 replies
  • 46 views

BrysonTyrrell
Forum|alt.badge.img+19

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

Forum|alt.badge.img+15
  • Contributor
  • August 2, 2016

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


Forum|alt.badge.img+13
  • Valued Contributor
  • August 2, 2016

Awesome!


BrysonTyrrell
Forum|alt.badge.img+19
  • Author
  • Valued Contributor
  • August 3, 2016

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
Forum|alt.badge.img+23
  • Contributor
  • August 3, 2016

This is great! Thanks so much


BrysonTyrrell
Forum|alt.badge.img+19
  • Author
  • Valued Contributor
  • August 4, 2016

BrysonTyrrell
Forum|alt.badge.img+19
  • Author
  • Valued Contributor
  • September 9, 2016

@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


Forum|alt.badge.img+6

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