Examples

Butler in action!

First things first:

If you intend to use the various Qlik script snippets included in the GithHub repository, you first need to initialize things.

Initializing Butler in an app’s load script is easy, just call the ButlerInit function.

Note: It’s usually a good idea to create a shared data connection for scripts that are available to all Sense apps.
In the example below this shared data connection is simply called “Butler scripts”:

$(Must_Include=[lib://Butler scripts/butler_init.qvs]);
CALL ButlerInit;

Swagger UI: Try out the Butler API using the API docs

Assuming Butler is properly configured and running, it’s easy to try out Butler’s API. This page shows some examples of interactions with the Butler API.

Flexible scheduling of Sense reload tasks

Examples showing how to use the Butler scheduler using direct API calls.

Reload task chaining with parameters

Examples showing how to use Butler’s key-value store to pass parameters between apps in a reload chain, using calls to Butler’s API.

Monitoring Butler's memory usage using Grafana

Butler can be configured to store its own memory usage in InfluxDB.
Here we look at how this works and how Grafana real-time charts can be created.

Start Sense tasks using Butler APIs

Controlled and secure file system operations

For security reasons Qlik Sense does not offer direct access to the file system from load scripts. Using lib:// constructs files can be read and written, but not copied, moved or deleted.

Butler has APIs that enabled file copy/move/delete in a secure, controlled way.

Sense apps that explain and highlight various Butler features

Butler comes with several demo apps.

Feel free to review them to get a better understanding of how Butler can be used.

Run Butler as a Windows service

When things don't work as expected

Tips and tricks for troubleshooting Butler.

Last modified April 22, 2021: First commit (c105eb7c)