Affecter un élément de catalogue à un groupe en fonction d’une tâche de plan d’exécution

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 1 minute de lecture
  • Cette règle d’affectation affecte un élément de catalogue de services au groupe de base de données s’il utilise un plan d’exécution qui comporte une tâche de catalogue affectée au groupe de bureau.

    Prérequis

    Rôle requis : admin

    Avertissement :
    La personnalisation décrite ici a été développée pour une utilisation dans des instances spécifiques, et n'est pas prise en charge par Now Support. Cette méthode est fournie telle quelle et doit être testée rigoureusement avant d'être implémentée. Publiez toutes les questions et commentaires concernant cette personnalisation dans notre forum communautaire.

    Nom: Affecter l’élément de catalogue au groupe en fonction de la tâche du plan d’exécution

    Type: Règle d’affectation

    Table:

    Description: Cette règle d’affectation affecte un élément de catalogue de services au groupe de base de données s’il utilise un plan d’exécution qui comporte une tâche de catalogue affectée au groupe de bureau.

    Paramètres:

    Script:

    //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; } } }