JAWA allows an IT Administrator to focus on providing the best end user experience through automation.
[!] NOTE: Always test automations in a dev/eval environment before deploying to production.
Jamf Automation and Webhook Assistant, "JAWA", is a web server for hosting automation tools that interacts with Jamf Pro, Okta, and more. It includes a webhook receiver for real-time if-this-then-that automation workflows and crontab for the timed execution of scripts and automated report generation. JAWA is intended to make webhooks and automation more accessible to admins of Jamf Pro by providing them with a simple framework with which they can design time-saving workflows and further integrate with other services owned by their organization.
Check out JAWA on the Jamf Marketplace for screenshots.
JAWA is a Python Flask web app which runs on Linux and can be accessed via web-browser. Once installed, the IT Admin is able to use JAWA to upload, edit, or adjust webhook and timed automations managed by JAWA. Automation scripts can be uploaded by the IT admin and be configured to run when triggered (webhook), or run on a timer (cron). JAWA leverages Jamf and Okta APIs when creating webhooks in their respective services.
General Server Requirements:
- Ubuntu 18.04+ or RHEL 7.x+
- Minimum: 512MB RAM (2GB recommended)
- Minimum: 5GB Storage (25GB recommended)
- Minimum: 1 CPU Core (2 Cores recommended)
- Python 3.6+ (with pip)
Network Requirements:
- Inbound port 443 from JPS for webhooks (IPs for Jamf Cloud)
- Inbound port 443 from LAN (for web access)
- Outbound port 443 to JPS and auxiliary services ( Okta, WorkDay, etc.)
Certificate Requirements
- SSL/TLS certificate (publicly trusted) and private key
- A publicly trusted full-chain certificate (bundle of root CA + intermediate + server cert) is preferred
for
jawa.crt
See the "JAWA Administrators Guide" found in the release for more detailed installation and configuration instructions.
Installation Steps:
- Complete server requirements
- Rename certificate to jawa.crt and the private key to jawa.key
- Ensure you are in the same directory as your jawa.crt and jawa.key
- Download and run JAWA installer:
-
Ubuntu installer:
curl -O https://raw.githubusercontent.com/jamf/JAWA/master/bin/ubuntu_installer.sh && sudo bash ./ubuntu_installer.sh
-
RHEL installer:
curl -O https://raw.githubusercontent.com/jamf/JAWA/master/bin/rhel_installer.sh && sudo bash ./rhel_installer.sh
-
- After installation completes, navigate to your FQDN/IP (i.e., https://jawa.company.com) in your web browser to continue with the web-based setup
Configuration Steps:
- Log in to JAWA with your Jamf Pro URL and Jamf Pro Administrator Credentials
- Click the “Configure JAWA” link in the JAWA Dashboard or click Setup in the top-nav
- Fill out the Server Setup form:
- [required] JAWA Server Address FQDN (i.e: https://jawa.company.com) - this address needs to be resolvable by the Jamf Pro Server to send webhooks
- [recommended] Lock your JAWA to a primary Jamf Pro Server
- [optional] Add an alternate Jamf Pro Server for
- Click Setup
- Set up your first webhook or timed automation
When scripting for webhooks, verify JSON structure sent from source:
NOTE: To ensure continuity, webhooks created via JAWA should be modified and deleted from JAWA as Jamf Pro (or source of webhook) will automatically be configured/adjusted appropriately.
Find JAWA releases here.
- New features
- display fields enabled for
SmartGroupMobileDeviceMembershipChange
event - success banner when creating & editing webhooks
- dashboard updated with new counters and links
- JAWA version displayed in footer
- display fields enabled for
- Installer:
- NEW! RHEL 7+ installer (resolved #9)