Einer Gruppe basierend auf einer Bereitstellungsplanaufgabe ein Katalogelement zuweisen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • Weisen Sie der Datenbankgruppe ein Servicekatalogelement zu, wenn sie einen Bereitstellungsplan verwendet, der über eine Katalogaufgabe verfügt, die der Desktopgruppe zugewiesen ist.

    Voraussetzungen

    Erforderliche Rolle: Administrator

    Warnung:
    Die hier beschriebene Anpassung wurde für die Verwendung in bestimmten Fällen entwickelt und wird von Now Support nicht unterstützt. Diese Methode wird wie sie ist zur Verfügung gestellt und sollte vor der Implementierung gründlich getestet werden. Veröffentlichen Sie alle Fragen und Kommentare zu dieser Anpassung in unserem Community-Forum.

    Name: Weisen Sie das Katalogelement basierend auf der Lieferplanaufgabe einer Gruppe zu.

    Typ: Zuweisungsregel.

    Beschreibung: Diese Zuweisungsregel weist der Datenbankgruppe ein Servicekatalogelement zu, wenn ein Bereitstellungsplan verwendet wird, in dem der Desktopgruppe eine Katalogaufgabe zugewiesen ist.

    Skript:

    //Return catalog items that have no group but do have a delivery plan assigned var ri  = new GlideRecord ( "sc_cat_item" ) ;
    ri.addQuery("group", "=", null);
    ri.addQuery("delivery_plan", "!=", null);
    ri.query(); 
    while(ri.next()) {
        gs.log("Found an item"); 
        //Return tasks that point to the same delivery plan as the above item 
        var dptask = new GlideRecord("sc_cat_item_delivery_task");
        dptask.addQuery("delivery_plan", "=", ri. delivery_plan);
        dptask.query(); 
        while(dptask.next()) {
            gs.log("Found a task");
            var gp = dptask.group.getDisplayValue();
            gs.log(gp); 
            //If the task is assigned to desktop, assign the item's group to desktop
            if (dptask.group.getDisplayValue() == "Desktop") {
                ri.group.setDisplayValue("Desktop");
                gs.log("updating " + ri.getDisplayValue());
                ri.update(); 
                break; } } }