Alert Template Fields for Failed App Reloads (Qlik Sense Cloud)
List of template fields available in Butler's failed app reload alert messages for Qlik Sense Cloud.
Template Fields
Butler uses the Handlebars library for templating work.
Handlebars offers a lot of useful features (nested template fields, evaluation context, template comments) and it's recommended that you browse through at least the language features section of their getting started guide to get a feeling for what's possible.
Important
If a template field is used for an alert type where that field is not supported, the field will simply be blank. No errors will occur, but it can still be tricky to debug if you're not aware of this.
The following template fields are available in alert messages:
Basic App Information
Field name | Description |
---|---|
tenantId | ID of the tenant where the reload took place |
tenantComment | Comment for the tenant, as entered in Qlik Cloud |
tenantUrl | URL to the tenant |
userId | ID of the user who triggered the reload |
userName | Name of the user who triggered the reload |
appId | ID of Sense app |
appName | Name of app |
appDescription | Description of app |
appUrl | URL to the app |
appHasSectionAccess | Does the app have section access? (true/false) |
appIsPublished | Is the app published? (true/false) |
appPublishTime | Date/time when app was published |
appThumbnail | URL to the app thumbnail |
App Owner Information
Field name | Description |
---|---|
appOwnerName | Name of app owner |
appOwnerUserId | App owner user's user id |
appOwnerPicture | URL to the app owner's profile picture |
appOwnerEmail | App owner email |
Reload Information
Field name | Description |
---|---|
reloadTrigger | What triggered the reload? Manually, scheduled etc |
source | Source of the reload. Usually com.qlik/engine |
eventType | Type of QS Cloud event. For example com.qlik.v1.app.reload.finished |
eventTypeVersion | Version of the event type |
endedWithMemoryConstraint | Did the reload end due to a memory constraint? (true/false) |
isDirectQueryMode | Is the app in Direct Query mode? (true/false) |
isPartialReload | Was the reload a partial reload? (true/false) |
isSessionApp | Is the app a session app? (true/false) |
isSkipStore | Should storing (to disk) the reloaded app be skipped? (true/false) |
reloadId | ID of the reload |
rowLimit | Row limit for the reload |
statements[] | Array of statements from the engine |
status | Status of the reload. For example error |
Performance Metrics
Field name | Description |
---|---|
usageDuration | Duration of the reload |
peakMemoryBytes | Peak memory usage during the reload |
sizeMemoryBytes | Memory usage during the reload |
appFileSize | Size of app file (on disk) |
Error Information
Field name | Description |
---|---|
errorCode | Error code for the reload. For example "EngineReloadScriptError" |
errorMessage | Error message for the reload. For example "error in app script or datasource" |
logMessage | Log message from the Sense log files (see example below) |
Execution Timing
Duration
Field name | Description |
---|---|
executionDuration.hours | executionDuration is a JSON object. Duration of reload (hours part) |
executionDuration.minutes | Duration of reload (minutes part) |
executionDuration.seconds | Duration of reload (seconds part) |
Start Time
Field name | Description |
---|---|
executionStartTime.startTimeUTC | JSON object. UTC timestamp for reload start |
executionStartTime.startTimeLocal1 | Reload start timestamp, format 1 |
executionStartTime.startTimeLocal2 | Reload start timestamp, format 2 |
executionStartTime.startTimeLocal3 | Reload start timestamp, format 3 |
executionStartTime.startTimeLocal4 | Reload start timestamp, format 4 |
executionStartTime.startTimeLocal5 | Reload start timestamp, format 5 |
Stop Time
Field name | Description |
---|---|
executionStopTime.stopTimeUTC | JSON object. UTC timestamp for reload end |
executionStopTime.stopTimeLocal1 | Reload end timestamp, format 1 |
executionStopTime.stopTimeLocal2 | Reload end timestamp, format 2 |
executionStopTime.stopTimeLocal3 | Reload end timestamp, format 3 |
executionStopTime.stopTimeLocal4 | Reload end timestamp, format 4 |
executionStopTime.stopTimeLocal5 | Reload end timestamp, format 5 |
Script Log Information
Field name | Description |
---|---|
executionStatusText | Final reload task status message, for example FAILED |
scriptLogSize | Size of the reload's script log (characters) |
scriptLogSizeRows | Size of the reload's script log (rows) |
scriptLogSizeCharacters | Size of the reload's script log (characters) |
scriptLogHeadCount | Number of lines extracted from the start of the script log |
scriptLogTailCount | The first y lines from the reload's script log |
scriptLogHead | The first x lines from the reload's script log |
scriptLogTail | Number of lines extracted from the end of the script log |
System Links
Field name | Description |
---|---|
qliksSenseQMC | Links to QMC, as defined in main config file |
qliksSenseHub | Links to Hub, as defined in main config file |
genericUrls | Links to other systems, as defined in main config file |
Example Log Message
The logMessage
field contains detailed information from the Sense log files. Here's an example:
ReloadID: 670e1df04cf4e529c035c902
Started loading data
(A detailed script progress log can be downloaded when the reload is finished)
Characters << AUTOGENERATE(26) 26 Lines fetched
ASCII << AUTOGENERATE(255) 191 Lines fetched
Transactions << AUTOGENERATE(1000) 2,027 Lines fetched
Data has not been loaded. Please correct the error and try loading again.
The following error occurred:
Unknown statement: ThisFailsForSure...
The engine error code: EDC_ERROR:11002
The error occurred here:
ThisFailsForSure...