Seitenhistorie
Inhalt
Auszug |
---|
Erklärung aller Eigenschaften von Events, Formularen und Scripts. |
Inhalt |
---|
Events
Events bestehen immer aus dem auslösenden Datensatz und der Art des Ereignis getrennt durch einen Doppelpunkt. Ein Beispiel wäre alarm:create
wobei alarm
sich auf die Alarmierung bezieht und create
auf die Erstellung.
...
type
: der Komplette Typ des Events, im obigen Beispiel wäre dies"alarm:create"
model
: Der Typ des auslösende Datensatzes, im Beispiel"alarm"
action
: Die auslösende Aktion des Events, im Beispiel"create"
payload
: Die Daten des auslösenden Datensatzes, im Beispiel wären dies die Informationen der Alarmierung.
Formulare
Ein Formular ist ein JSON-Array aus Felddefinitionen. Die folgenden Eigeschaften hat eine Felddefinition:
...
Werte können auch bei gesetztem Standard Wert ein Leerer String (""
) oder nil
sein. Ungültige Werte werden aktuell ignoriert.
Beispiel einer kompletten Formular Definition
...
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
[ { "type": "text", "key": "url", "label": "URL", "description": "URL des Servers an den Sie Einsätze übertragen möchten." }, { "type": "checkbox", "key": "onlyTitle", "label": "Nur das Stichwort übertragen", "defaultValue": true }, { "type":"select", "key": "format", "label": "Format", "description": "Datenformat in dem die Daten übertragen werden sollen", "options": [ { "label": "JSON", "value": "json" }, { "label": "XML", "value": "xml" } ] } ] |
Scripts
Scripts haben die Möglichkeit, die im Event erhaltenen Daten zu verarbeiten und als http(s)-request weiter an externe Dienste zu übergeben.
Einschränkungen
Sie haben Einschränkungen in Laufzeit, Anzahl & Dauer der Requests und der maximalen Speichernutzung.
...
Die Funktionen der bereitgestellten Bibliotheken finden Sie unter User Lua-Scripts - bereitgestellte Script-Bibliotheken.
Beispiel zum obigen Formular
Hier ein Beispielscript welches mit dem Formular aus dem letzten Abschnitt genutzt werden könnte.
Codeblock | ||||
---|---|---|---|---|
| ||||
local fetch = require("fetch") -- Limitierung des Payloads if configuration.onlyTitle then local payload = event.payload.title else local payload = event.payload end -- Datentyp setzen if configuration.format == "json" then local json = require("json") local data = json.encode(event.payload) local contentType = "application/json" elseif configuration.format == "xml" then else print("Ungültiges Datenformat, breche ab.") return -- bricht die Ausführung eines Skripts ab end -- Anfrage senden print(`Sende folgendes {contentType} an {configuration.url}: {data}`) local response = fetch.post(configuration.url, { data = data, contentType = contentType }) print(`Aufruf von "{configuration.url}" endete mit Status-Code {response.status_code}`) |
Beispiel Vorlage
Das komplette Beispiel als importierbares json: Download
Schritt-für-Schritt-Anleitung
...
Verwandte Artikel
Inhalt nach Stichwort | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Seiteneigenschaften | ||
---|---|---|
| ||
|