Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

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
languagejs
themeDJango
titleBeispiel-Formular
[
  {
    "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
languagejsbash
themeMidnightDJango
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
showLabelsfalse
max5
spacesFAQ
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("scriptable","user-scripts") and type = "page" and space = "FAQ"
labelsscriptable user-scripts

...

Seiteneigenschaften
hiddentrue
Verwandte Vorgänge