Arcadia Action buttons are able to make arbitrary GET/POST/PUT requests to 3rd party applications via REST endpoints using the new Webhooks feature, which is available as of Arcadia 5.0 release.
This article provides a walkthrough of how to enable and setup both Arcadia Action buttons and Webhooks for use.
Enabling the Arcadia Action button visual and Webhooks features
By default, the Action button visual and Webhooks feature is disabled on an installed Arcadia system. To enable this feature you will need to add this setting to the Arcadia Visualization Server Advanced Configuration Snippet (Safety Valve) for settings_cm.py in Cloudera Manager (if using CDH), or the Arcviz Settings box in Ambari (if using HDP):
ENABLE_VISUAL_ACTION = True ENABLE_WEBHOOK = True
After adding these settings, restart the Arcadia Visualization Server. Once the application has been restarted, you will now see the ‘Webhook Settings’ section under the Site Settings. Within Site Settings you will need to check “Enable webhooks”, and then you also have the option to specify URLs that are allowed to be invoked via Webhooks. You can add one URL per line, and also use * as a wildcard within URLs.
Creating a webhook in a dashboard
First you will need to create an Action button and configure it to trigger a Webhook. Below is an example of what a Webhook configuration might look like (click to zoom in):
Additional notes on configuring Webhooks
- The ‘Request Type’ lets you specify whether a GET/POST/PUT type http request is sent across to the URL
- The ‘Call Source’ lets you specify whether the invocation is made from the client browser or from the Arcadia Visualization Server. It is frequently necessary to make the invocation from the Arcadia Visualization Server in order to deal with CSRF issues with invocations from the client browser
- The URL, the Request Headers, and Parameters can all contain page parameters using the <<parameter_name>> syntax common to arcviz UI elements. See this post for more information on using and passing parameters from Visuals to other parts of your Dashboard, as well as this training video on general use of parameters.