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}`) |
Verwandte Artikel
| Inhalt nach Stichwort | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
| Seiteneigenschaften | ||
|---|---|---|
| ||
|