Mikroapps

Skripttransformation

Mit der Skripttransformation können Sie die Inline-Skripttransformation für Endpunkte zum Laden von Daten und für Dienstaktionen aktivieren. Skripts können so konfiguriert werden, dass sie ein Antwortobjekt von der HTTP-Antwort empfangen und es abhängig vom System of Record (SoR) Ihrer Zielintegration in ein anderes Antwortobjekt umwandeln. Skripts können keine Anforderungen ausführen oder Daten speichern. Die Skripttransformation soll nur die Antwort transformieren, sodass sie vom JSON-Parser der HTTP-Integration analysiert werden kann.

  • Jeder HTTP-Endpunkt hat ein eigenes bearbeitbares Skript.
  • Beim Testen einer HTTP-Integration über die Schaltfläche Service testen wird das Skript zusammen mit der Testaufforderung ausgeführt.
  • Skripts, die mit Anforderungstransformation ausgeführt werden, sind auf 10.000 Aussagen beschränkt.
  • Das Ausführen von Skripts ist außerdem auf eine Minute begrenzt. Wenn das Skript in dieser Zeit nicht abgeschlossen ist, wird es beendet.

Voraussetzungen

Der Einsatz der Sktriptransformation setzt voraus, dass Sie mit dem SoR Ihrer Zielanwendung vertraut sind. Befolgen Sie diesen allgemeinen Prozess beim Verwenden der Skripttransformation für HTTP-Integrationen:

  • Bereiten Sie das zu importierende Skript über die Konfigurationsseiten Laden von Daten oder Dienstaktionen vor.
  • Skripts müssen in JavaScript geschrieben und in Ihrem bevorzugten Texteditor/Entwicklertool bearbeitet werden.
  • Das fertige Skript können Sie über das Skripttransformationsfeld in der Mikroapps-Administratoroberfläche einfügen (oder direkt bearbeiten).
  • Testen Sie das Skript nach dem Importieren.

Hinweis:

Bei Verwendung der Skripttransformation wird die Standardskriptausgabe von Citrix zu Debugging-Zwecken protokolliert und indiziert. Bitte stellen Sie sicher, dass bei der Verwendung von print, console.log usw. während der Konfiguration keine vertraulichen Informationen protokolliert werden.

Aktivieren der Skripttransformation

Um die Skripttransformation beim Konfigurieren von Laden von Daten oder Dienstaktionen zu aktivieren, führen Sie die folgenden Schritte aus:

  1. Wählen Sie die Schaltfläche Skripttransformation:

    Umschaltfläche für Skripttransformation

  2. Geben Sie Ihr vorbereitetes Skript ein:

    Skripteingabe

  3. Wählen Sie Mit Parametern testen und dann Service testen, um die ursprüngliche Antwort, die Skriptausgabe, die transformierte Antwort und potenzielle Skriptfehler zu sehen.

Hinweis:

Wenn Sie das Transformationsskript ändern, müssen Sie auch die Tabelle neu erstellen.

Wenn Ihr Skript mit Laden von Daten oder Dienstaktionen ordnungsgemäß funktioniert, wählen Sie Hinzufügen.

Beispielskripts

({response}) => {
_ = library.load("lodash")
let json = JSON.parse(response)
console.log(`loaded user count: ${json.length}`)
let transformed = json.filter(user => {
    if (user.active === true) {
        return true
    }
    console.log(`skipping inactive: ${user.displayName}`)
    return false
}).map(user => ({
    name: user.displayName,
    avatarUrl: user.avatarUrls["32x32"],
    now: _.now(),
}))
return JSON.stringify(transformed) }

Hinweis:

Sie können die Zeichenfolge entweder wie im vorherigen Beispiel zurückgeben oder als js-Objekt (Array), das die transformierte Variable zurückgeben würde.

Beispiel: Umbenennen des JSON-Arraynamen before.json after.json:

({
response
}) => {
_ = library.load("lodash")

function rename(obj, key, newKey) {
    if (_.includes(_.keys(obj), key)) {
        obj[newKey] = _.clone(obj[key], true)
        delete obj[key]
    }
    return obj
}

let json = JSON.parse(response)
let transformed = rename(json, 'tickets', 'new_tickets')
return JSON.stringify(transformed) }
Skripttransformation