Bestellleitfäden automatisch ausführen
Servicekatalog-Bestellleitfäden ermöglichen es Kunden, eine einzige Servicekatalog-Anforderung zu stellen, die mehrere bestellte Artikel generieren kann. Administratoren können Bestellleitfäden so konfigurieren, dass sie automatisch (über einen Workflow oder ein Skript) ausgeführt werden, um einen Satz bestellter Artikel zu generieren, ohne dass manuell eine Servicekatalog-Anforderung gesendet werden muss. Administratoren können auch die Fehler im Bestellleitfaden überprüfen und erneut verarbeiten.
Als Anwendungsfall kann ein Onboarding-Workflow für einen neuen Mitarbeiter einen Bestellleitfaden ausführen, um automatisch Artikel für diesen Mitarbeiter zu bestellen.
Bestellleitfäden über Skripts ausführen
Das Ausführen von Bestellleitfäden mit einem serverseitigen Skript ist komplexer als die Verwendung von Workflows, bietet jedoch mehr Flexibilität und kann in Situationen ohne Workflow verwendet werden.
Verwenden Sie die Java-Klasse SNC.ScriptableOrderGuide, um Bestellleitfäden mit einem Skript auszuführen.
Verwenden Sie den Konstruktor SNC.ScriptableOrderGuide (String orderGuideId), um ein neues ScriptableOrderGuide-Objekt zu erstellen.
Methodenübersicht
| Methode | Rückgabewert | Beschreibung |
|---|---|---|
| process(String json) | boolean | Führt den Bestellleitfaden mit dem JSON-codierten Zeichenfolgenparameter als Eingabe für den Bestellleitfaden aus. Gibt true oder false zurück, abhängig davon, ob die Verarbeitung erfolgreich war oder nicht. Hinweis:
Die Parameter opened_by und requested_for müssen an den Bestellleitfaden übergeben werden, und beide müssen gültige sys_id-Werte für den Anwenderdatensatz aufweisen. Wenn die Verarbeitung erfolgreich ist und eine Anforderung vom Bestellleitfaden erstellt wird, können Sie den Anforderungs-GlideRecord mit getRequest() abrufen. Wenn die Verarbeitung fehlschlägt, können Sie den Fehler-GlideRecord mit getFailure() abrufen und dann das Skript mit „reprocess“ zur erneuten Verarbeitung senden. |
| reprocess(GlideRecord failure) | Boolean | Führt den Bestellleitfaden erneut aus, wobei der JSON-codierte Zeichenfolgenparameter verwendet wird, der im Fehler-GlideRecord gespeichert ist. |
| getMessage() | Zeichenfolge | Ruft die nach der Verarbeitung oder erneuten Verarbeitung gefüllte Nachricht ab. |
| getRequest() | GlideRecord | Ruft den Anforderungs-GlideRecord ab. |
| getFailure() | GlideRecord | Ruft den Fehler-GlideRecord aus der Tabelle „Fehler im skriptfähigen Bestellleitfaden“ [sc_script_order_guide_failure] ab. |
Skriptbeispiel
// Creating the object to later be JSON encoded
var json = {"opened_by":"62826bf03710200044e0bfc8bcbe5df1","requested_for":"06826bf03710200044e0bfc8bcbe5d8a","department":"221f3db5c6112284009f4becd3039cc9"};
var now_GR = new GlideRecord("sc_cat_item_guide");
if (gr.get("name","IT Onboarding SOG")) {
var sog = new SNC.ScriptableOrderGuide(gr.getValue("sys_id"));
var result = sog.process(new JSON().encode(json));
if(!result)
gs.log("Processing the scriptable order guide failed with message: " + sog.getMessage());
else {
var request = sog.getRequest();
gs.log("Request created - " + request.sys_id); } }Bestellleitfäden über Workflows ausführen
Das Ausführen eines Bestellleitfadens über einen Workflow ist geeignet, wenn Sie Bestellleitfäden als Teil eines umfassenderen Workflow-basierten Prozesses einschließen.
| Feld | Beschreibung |
|---|---|
| Bestellleitfaden | Der Name des Bestellleitfadens, den diese Aktivität verarbeitet. Beispiel: Beispiel für das Onboarding von IT-Mitarbeitern. |
| Skript | Ein Skript, das Informationen an den Bestellleitfaden übergibt. Diese Informationen werden als JSON-codierter Zeichenfolgenparameter gesendet, der der Variablen answer zugewiesen ist. Das Skript muss diese Anforderungen erfüllen:
|
Ergebnisse
- Erfolg: Die Aktivität hat den Bestellleitfaden erfolgreich verarbeitet. Dies bedeutet nicht, dass eine Anforderung erstellt wurde. Wenn eine Anforderung erstellt wurde, wird die sys_id der Anforderung dem Workflow-Scratchpad unter der Variablen sc_request hinzugefügt.
- Fehler: Während der Verarbeitung des Bestellleitfadens ist ein Fehler aufgetreten, und ein Fehlerdatensatz wurde erstellt. Wenn die Verarbeitung fehlschlägt, können Sie den Fehlerdatensatz anzeigen und bearbeiten.
Workflow-Beispiel
Der Workflow Beispiel für das Onboarding von IT-Mitarbeitern verwendet dieses Beispiel, um im Rahmen eines Onboarding-Prozesses IT-Katalogelemente für einen neuen Mitarbeiter zu generieren.
- Verwenden einer zuvor generierten JSON-Zeichenfolge aus dem HR-Change Record.
- Fügen Sie die obligatorischen Parameter opened_by und requested_for an diese Zeichenfolge an.
- Senden der neuen Zeichenfolge zur Verarbeitung durch den Bestellleitfaden.
var parameters = new JSON().decode(current.payload);
// Need to amend the json object to include additional values.
parameters.opened_by = current.opened_by + "";
parameters.requested_for = current.opened_for + "";
answer = new JSON().encode(parameters);Fehler im Bestellleitfaden anzeigen
Die Verarbeitung des Bestellleitfadens kann fehlschlagen, wenn beispielsweise der ausgeführte Bestellleitfaden nicht existiert. Wenn während der Auftragsabwicklung ein Fehler auftritt, können Sie mit dem Untermodul Fehler skriptfähiger Bestellleitfaden die Fehler überprüfen und erneut verarbeiten. Für jeden Fehler wird ein Datensatz erstellt. Wenn Sie die Fehler behoben haben, die den ersten Fehler verursacht haben, können Sie die fehlgeschlagenen Bestellleitfäden erneut verarbeiten.
Warum und wann dieser Vorgang ausgeführt wird
Wenn ein Fehler auftritt, wird in der Tabelle „Fehler im skriptfähigen Bestellleitfaden“ [sc_script_order_guide_failure] ein Fehlerdatensatz erstellt.
Um Details zu einem Fehler anzuzeigen, navigieren Sie zu , und öffnen Sie dann einen Fehlerdatensatz.
Fehler bei erneuter Verarbeitung: Wenn Sie den Fehler behoben haben, der den ersten Fehler verursacht hat, können Sie fehlgeschlagene Bestellleitfäden erneut verarbeiten.