Zum Inhalt springen

Benachrichtigungsbeispiel mit dynamischer Abfrage zum Einfügen in eine HTML-Tabelle im Jitterbit App Builder

Dieser Artikel bietet einen Überblick über die Verwendung einer dynamischen Abfrage zum Einfügen von Informationen in eine HTML-Tabelle in einer Benachrichtigungsregel im App Builder. Um dieses Ergebnis zu erreichen, sind mehrere Schritte erforderlich. Der Artikel geht von folgenden Annahmen über Ihre App Builder Umfeld aus:

  • Ausführen von SQL 2017+, erforderlich zur Verwendung von String_Agg() Funktion
  • Tabellen und Daten sind in der Datenschicht vorhanden, um dieses Szenario zu unterstützen.
  • Grundlegendes Verständnis der Konfiguration von Benachrichtigungsregeln

Notiz

Während der Testphase der Implementierung dieser (oder einer beliebigen Benachrichtigungsregel) empfehlen wir, eine Test-Email-Adresse als An()-Wert in der Benachrichtigung zu verwenden, bis sie ordnungsgemäß funktioniert.

Geschäftsanwendungsfall

Ein Unternehmen möchte mithilfe einer App Builder App einen Genehmigungsprozess für Serverneustarts verwalten. Zu den Anforderungen gehört, dass den jeweiligen Serverbesitzern zu einem bestimmten Zeitpunkt eine Email Benachrichtigung mit einer Serverliste gesendet wird. Das Unternehmen möchte verstehen, wie eine Benachrichtigungsregel dynamisch für jeden Serverbesitzer funktioniert.

Zum Beispiel:

Es gibt insgesamt 20 Server. Mary ist als Besitzerin von 15 Servern aufgeführt. John ist als Besitzer der restlichen 5 Server aufgeführt. Ein Server kann mehrere Besitzer haben, sodass John auch der gemeinsame Besitzer von zwei von Marys Servern ist, also insgesamt sieben. Mary sollte eine Email mit ihren 15 Servern erhalten und John eine Email mit seinen 7 Servern (fünf Server, denen er als Besitzer gehört, plus zwei Server, deren gemeinsame Besitzer Mary und John sind).

Die Business-Schicht enthält eine vorhandene Ansicht mit allen für die Tabelle erforderlichen Informationen (z. B. Eigentümer der einzelnen Server, Email Adressen).

So konfigurieren Sie im App Builder

  1. Erstellen Sie eine Unterabfrageregel, die für jede Instanz eines Serverbesitzers und des Servers einen Datensatz zurückgibt. Fügen Sie die Spalten „Serverbesitzer-ID“, „Serverbesitzer“ und „Servername“ ein.
  2. Integrieren Sie die Unterabfrage in eine neue Unterabfrageregel und fügen Sie die Spalte „Serverbesitzer-ID“ (oder eine entsprechende Spalte) hinzu. Fügen Sie einen neuen Ausdruck hinzu, um Folgendes auszuführen: count(1)Fügen Sie anschließend die folgenden zusätzlichen Ausdrücke hinzu, um die HTML-Tabelle zu erstellen:

    TableBody
    ${String_AGG('<tr> <td>' + Subquery.ServerOwner + '</td> <td>' + Subquery.ServerName + '</td> </tr>','')}

    Tabellenkopfzeile
    '<div>&nbsp;</div><table class="requests"> <tbody> <tr> <td>Server Owner</td> <td>ServerName</td> </tr>'

    Tabelle schließen
    '</table><div>&nbsp;</div> <div>Thanks,</div> <div>Server Team</div>'

    imagelogic.png

    Beispiel für eine Registerkarte „Spalten“ für eine Unterabfrage

  3. Erstellen Sie eine neue Benachrichtigungsregel. Fügen Sie die erstellte Unterabfrage mit der Tabellenstruktur ein.

  4. Verbinden Sie die Unterabfrage mit der Tabelle, die die Liste der Serverbesitzer und ihre Email-Adressen enthält.
  5. Fügen Sie die Email-Adresse hinzu und richten Sie sie in das Feld An() ein.
  6. Fügen Sie einen neuen CSS-Ausdruck hinzu, um die Stilisierung zu erleichtern. Alias als CSS. Beispiel-CSS:

    '<style> .requests {   font-size: 14px;   line-height: 20px;   font-weight: 400;   -webkit-font-smoothing: antialiased;   font-smoothing: antialiased;   margin: 0 0 40px 0;   width: 50%;   box-shadow: 0 1px 3px rgba(0,0,0,0.2);   display: table;   border-collapse: collapse;   border: 1px solid black; } .requests tr:first-child { font-weight: 900;     background: #D3D3D3; } .requests th { border: 1px solid black; } .requests tr { border: 1px solid black; } .requests td { padding: 6px 12px; border: 1px solid black; } </style>'
    
  7. Fügen Sie die Spalten „Header“, „body“ und „close“ der Tabelle hinzu. Erstellen Sie einen neuen Ausdruck, der diese Spalten miteinander verknüpft: {{TableHeader}} || {{TableBody}} || {{TableClose}} || {{CSS}}und Alias als Tabelle.

    imagelogic2.png

    Beispiel für die Registerkarte „Spalten“ der Benachrichtigungsregel

  8. Im Bildschirm App Workbench > Benachrichtigungen können Sie die Benachrichtigungsregel weiter bearbeiten und testen. An dieser Stelle im Beispiel können Sie nun Folgendes hinzufügen: {{Tabelle|HTML}}im Text. Sie können weitere Nachrichten hinzufügen. In diesem Beispiel ersetzen wir den Mitarbeiternamen und fügen einen verbindlichen Link ein:

    notificationcontent.png

    Beispiel für einen Benachrichtigungsbildschirm