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 Fehler im Bestellleitfaden überprüfen und erneut verarbeiten.
Als Anwendungsfall kann ein Onboarding-Workflow für einen neuen Mitarbeiter einen Bestellleitfaden ausführen, um Artikel für diesen Mitarbeiter automatisch 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:
Beides opened_byUnd requested_forParameter müssen an den Bestellleitfaden übergeben werden, und beide müssen gültige sys_ID-Werte des Anwenderdatensatzes 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 das obligatorische Element an opened_byUnd requested_forParameter für diese Zeichenfolge.
- 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 , Öffnen Sie dann einen Fehlerdatensatz.
Fehler bei erneuter Verarbeitung: Wenn Sie den Fehler behoben haben, der den anfänglichen Fehler verursacht hat, können Sie fehlgeschlagene Bestellleitfäden erneut verarbeiten.