Chook

/tʃʊk/ (also chookie /ˈtʃʊki/ )
noun Australian/NZ informal
a chicken or fowl

Chook is a ruby module and http(s) server that implement a 'handler' for webhook events from a Jamf Pro server. The webhook handling server can execute your own code to handle different events as they arrive. Your handler code can be written in any language, and will run externally to the server process, or if written in ruby using the Chook module, can run as a thread internal to the server process. The module can also be used to implement your own handling server, or to simulate events in a test environment.

About

Chook simplifies handling and testing of webhook data from Jamf Pro, an enterprise-level management tool for Apple devices.

The most common use of Chook is to run a webhook-handling http(s) server, which will accept webhook event data from a Jamf Pro server and process it using your custom code. That code can be in any language, and the Chook server will simply pass the JSON data to the standard-input of your executable. However, if you are a ruby programmer, you can write handlers using Chook's own framework and they can run internally as server threads, potentially sharing resources.

The ruby framework can also be used to implement your own server, if the built-in one is not sufficient, or if you'd like to write middleware for some other server backend. The framework also provides classes for simulating webhooks and sending them to any handling server.

See the full documentation for more info about setting up the server or using the framework.

Chook is released under a modified Apache License v2.0. Please see the LICENSE.txt file for details.