Skriptfähige Zuweisung von Ausführungsplänen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Jedem Katalogelement ist ein Ausführungsplan zugeordnet, der immer dann verwendet wird, wenn ein Element dieses Typs bestellt wird. Wenn kein Plan angegeben ist, wird der Standardplan verwendet. Diese Standardeinstellung ist für die meisten Organisationen geeignet, Ihr Ausführungsplan weicht jedoch möglicherweise aufgrund zusätzlicher Kriterien ab.

    Im Servicekatalog des Basissystems verwendet eine Anforderung für einen neuen PC beispielsweise immer den PC-Bereitstellungsplan (PC Delivery Plan). Dieser Plan muss jedoch möglicherweise für ungewöhnliche Umstände variieren – z. B. wenn ein Anforderer von zu Hause aus an einem entfernten Standort arbeitet.

    Um diese Flexibilität zu bieten, können Sie den Standardausführungsplan für ein bestimmtes Katalogelement mithilfe eines Skripts überschreiben.

    Einschränkungen bei der Skriptausführung

    Für Ausführungsplanskripts gelten Einschränkungen, die bei der Implementierung berücksichtigt werden müssen.

    Während das Ausführungsplanskript ausgeführt wird, gelten die folgenden Einschränkungen:

    • Sie können nicht mit Katalogaufgaben interagieren, da Katalogaufgaben erst erstellt werden, nachdem der Ausführungsplan ausgewählt wurde.
    • Einige Felder wie Gesamte Lieferzeit und Fälligkeitsdatum sind noch nicht berechnet, obwohl die Anforderung selbst im Skript über current.request() verfügbar ist.
    • Genehmigungen wurden noch nicht erstellt.

    Skripte schreiben

    Befolgen Sie beim Schreiben von Ausführungsplanskripts diese Richtlinien.

    Ausführungsplanskripts können auf die gleichen globalen Variablen und anderen Funktionen zugreifen wie in jedem anderen serverseitigen Ausführungsplan.

    • current ist das aktuell angeforderte Katalogelement, sc_req_item.
    • current.delivery_plan() ist der zugewiesene Ausführungsplan für dieses Katalogelement.

    Der aus dem Skript ausgewertete Wert wird als sys_id des Ausführungsplans verwendet.

    Einfaches Beispiel:

    current.delivery_plan.setDisplayValue('PC Delivery Plan')

    Wenn ein ungültiger Wert zurückgegeben wird (z. B. nicht definiert oder nicht gefunden), wird der vorhandene zugewiesene Wert verwendet.

    Komplexeres Beispiel:

    getexecutionplan();
    function getexecutionplan() {
    var location = current.request.requested_for.location.getDisplayValue();
    // if we're in Atlanta
    if (location == 'Atlanta') {
       // use the remote pc delivery plan instead of the normal one
       var remote_plan = new GlideRecord('sc_cat_item_delivery_plan');
       remote_plan.addQuery('name', 'Remote PC Delivery Plan');
       remote_plan.query();
       remote_plan.next();
       current.delivery_plan = remote_plan.sys_id;
       return remote_plan_sys_id;
       } 
       return current_delivery_plan;
    }

    In diesem Beispiel verwendet ServiceNow jedes Mal, wenn eine Anforderung für einen Benutzer in Atlanta erfolgt, den „Remote PC Delivery Plan“. Andernfalls wird der Ausführungsplan nicht überschrieben und ServiceNow verwendet den normalen Ausführungsplan des Katalogelements, den „PC Delivery Plan“.

    Skripts zu Katalogelementen hinzufügen

    Sie können einem Katalogelement ein Skript hinzufügen, sodass das Skript jedes Mal ausgeführt wird, wenn ein Benutzer dieses Element anfordert.

    Prozedur

    1. Navigieren zu Alle > Servicekatalog > Artikel verwalten.
    2. Wählen Sie das relevante Katalogelement aus, dem Sie das Skript hinzufügen möchten.
    3. Konfigurieren Sie das Katalogelementformular, um das Feld für das Ausführungsplanskript (häufig mit dem Namen Bereitstellungsplan-Skript) hinzuzufügen.
    4. Geben Sie die Skriptdetails ein.
      Bereitstellungsplan-Skript
    5. Aktualisieren Sie das Elementformular mit Ihren Änderungen.

    Ergebnisse

    Das Skript wird bei jeder Anforderung dieses Elements ausgeführt, wobei der Ausführungsplan ausgewählt wird, der mit diesem Element ausgeführt werden soll.

    Ausführungspläne mithilfe eines Skripts genehmigen

    Sie können ein Genehmigungsregelskript verwenden, um einen Ausführungsplan zu genehmigen.

    Prozedur

    1. Rufen Sie eine Aufgabe zur Genehmigung des Ausführungsplans ab.
    2. Sehen Sie sich das Feld Freigabeskript an.
    3. Füllen Sie ein Genehmigungsskript mit derselben Syntax und denselben Regeln aus, die Sie für eine Genehmigungsregel verwenden würden.

    Beispiel

    Im nachfolgenden Skript ist der Genehmiger beispielsweise der Manager des Anforderers.

    Abbildung : 1. Skript, das den Genehmiger angibt
    Genehmigungsskript für den Ausführungsplan