StateManagementScriptableApi : global

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 7 minutes de lecture
  • StateManagementScriptableApi fournit un ensemble de méthodes pour manipuler les états opérationnels des éléments de configuration (CI) et appliquer des actions de CI.

    Les méthodes StateManagementScriptableApi respectent les restrictions et les autorisations spécifiées par les actions de CI non autorisées, les actions de CI compatibles et les transitions opérationnelles non autorisées. Si une méthode tente d’effectuer une opération restreinte, l’opération est bloquée, une erreur est consignée et une tâche est créée le cas échéant.

    Les méthodes StateManagementScriptableApi sont des méthodes statiques. Vous accédez aux méthodes à l’aide du SNC. Objet global StateManagementScriptableApi .

    StateManagementScriptableApi : addBulkCIAction(String requestorId, String sysIdList, String ciActionName, String ciActionListOld, String leaseTime)

    Ajouter une action de CI à une liste de CI.

    Tableau 1. Paramètres
    Nom Type Description
    requestorId Chaîne Une sys_id d’un contexte de workflow, ou le GUID retourné par la méthode registerOperator( ).
    sysIdList Chaîne Liste de CI séparés par des virgules sys_ids.
    ciActionName Chaîne Le nom de l’action CI.
    ciActionListOld Chaîne (Facultatif) Liste séparée par des virgules d’anciennes actions de CI dans laquelle tous les CI devraient figurer.
    leaseTime Chaîne (Facultatif) Durée pendant laquelle le bail est valide pour l’action de CI spécifiée. Au format HH :MM :SS.
    Tableau 2. Renvoie
    Type Description
    Chaîne Chaîne au format JSON avec des paires nom-valeur pour
    • résultat : vrai si l’action est définie pour tous les CI de la liste ; sinon, faux.
    • Erreurs : liste des erreurs.

    StateManagementScriptableApi : extendCIActionLease(chaîne requestorId, chaîne ciSysId, chaîne ciActionName, chaîne leaseTime)

    Prolongez la durée CI-action-bail pour l’utilisateur enregistré. Si le bail précédent a expiré, la nouvelle durée du bail commence maintenant.

    Tableau 3. Paramètres
    Nom Type Description
    requestorId Chaîne Une sys_id d’un contexte de workflow, ou le GUID retourné par la méthode registerOperator( ).
    ciSysId Chaîne Le sys_id du CI.
    ciActionName Chaîne Le nom de l’action CI.
    leaseTime Chaîne Durée pendant laquelle le bail est valide pour l’action de CI spécifiée. Au format HH :MM :SS.
    Tableau 4. Renvoie
    Type Description
    Chaîne Chaîne au format JSON avec des paires nom-valeur pour
    • Résultat : vrai si la durée du bail a été définie.
    • Erreurs : liste des erreurs.

    StateManagementScriptableApi : getCIActions(String ciSysId)

    Renvoie une liste des actions de CI actives pour le CI spécifié.

    Tableau 5. Paramètres
    Nom Type Description
    ciSysId Chaîne Sys_id du CI.
    Tableau 6. Renvoie
    Type Description
    Chaîne Chaîne au format JSON avec des paires nom-valeur.
    Valeurs possibles :
    • ciActions : liste séparée par des virgules des actions de CI actives pour le CI ou le no_active_action.
    • erreurs : liste des erreurs.

    L’exemple suivant montre comment obtenir des actions actives pour une liste d’éléments de configuration.

    // Store sys_ids of configuration items for which to get data
    var CIArray = ["a9c0c8d2c6112276018f7705562f9cb0","0c43bc4fc61122750182c132411702f2","46bbf419a9fe1981009802288c1eb79d","46a4381ca9fe1981005c3e99af3cd164","0c43bcbdc61122750182c132e9b6565d"];
    
    var output = '';
    
    // looping above array to fetch each sys_id and passing to method
    for(var i=0; i < CIArray.length; i++) {
    
      // passing sys_id of CI stored in array to method
      output = SNC.StateManagementScriptableApi.getCIActions(CIArray[i]);
    
      // print a JSON formatted string with name-value pairs
      gs.print(output);
    }

    Sortie :

    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}
    {"ciActions":["no_active_action"],"result":true}

    StateManagementScriptableApi : getOperationalState(String ciSysId)

    Renvoie l’état opérationnel du CI.

    Tableau 7. Paramètres
    Nom Type Description
    ciSysId Chaîne Sys_id du CI.
    Tableau 8. Renvoie
    Type Description
    Chaîne Chaîne au format JSON avec des paires nom-valeur.
    Valeurs possibles :
    • ciActions : valeurs de choix de chaîne du champ operational_status, ou UNKNOWN.
    • erreurs : liste des erreurs.

    L’exemple suivant montre comment obtenir les états opérationnels d’une liste d’éléments de configuration spécifiés.

    // Store sys_ids of configuration items for which to get the operational state.
    var CIArray = ["0c43bc4fc61122750182c132411702f2","46bbf419a9fe1981009802288c1eb79d","46a4381ca9fe1981005c3e99af3cd164","0c43bcbdc61122750182c132e9b6565d","a9c0c8d2c6112276018f7705562f9cb0"];
    
    var output = '';
    
    // Loop the array to fetch each sys_id and pass to the method.
    for(var i=0;i<CIArray.length;i++) {
      // Pass sys_id of CI stored in array to the method  
      output = SNC.StateManagementScriptableApi.getOperationalState(CIArray[i]); 
    
      // prints a JSON formatted string with name-value pairs
      gs.print(output);
    }

    Sortie :

    *** Script: {"operationalState":"Operational","result":true}
    *** Script: {"operationalState":"Operational","result":true}
    *** Script: {"operationalState":"Operational","result":true}
    *** Script: {"operationalState":"Operational","result":true}
    ci_state_management                        : INVALID_SYS_ID: Invalid sys_id [a9c0c8d2c6112276018f7705562f9cb0]: no thrown error
    *** Script: {"errors":[{"error":"INVALID_SYS_ID","message":"Invalid sys_id [a9c0c8d2c6112276018f7705562f9cb0]"}],"operationalState":"unknown","result":false}

    StateManagementScriptableApi : isCompatibleCIAction(String actionName, String otherActionName)

    Détermine si les deux actions spécifiées sont compatibles.

    Tableau 9. Paramètres
    Nom Type Description
    actionName Chaîne Un nom d’action de CI
    otherActionName Chaîne Un nom d’action de CI
    Tableau 10. Renvoie
    Type Description
    Booléen Renvoie la valeur true si les deux actions de CI spécifiées sont compatibles.

    StateManagementScriptableApi : isLeaseExpired(String requestorId, String ciSysId, String ciActionName)

    Détermine si le bail a expiré pour le demandeur d’une action de CI spécifiée.

    Tableau 11. Paramètres
    Nom Type Description
    requestorId Chaîne Une sys_id d’un contexte de workflow, ou le GUID retourné par la méthode registerOperator( ).
    ciSysId Chaîne Le sys_id du CI.
    ciActionName Chaîne Nom de l'action de CI.
    Tableau 12. Renvoie
    Type Description
    Chaîne Chaîne au format JSON avec des paires nom-valeur pour
    • Résultat : vrai si le bail de l’utilisateur a expiré.
    • Erreurs : liste des erreurs.

    StateManagementScriptableApi : isNotAllowedAction(Chaîne ciType, Chaîne opsLabel, Chaîne actionName)

    Pour un type de CI, déterminez si une action de CI n’est pas autorisée pour un état opérationnel.

    Tableau 13. Paramètres
    Nom Type Description
    ciType Chaîne Le type de CI
    opsLabel Chaîne État opérationnel
    actionName Chaîne Le nom de l’action de CI
    Tableau 14. Renvoie
    Type Description
    Booléen Renvoie la valeur vrai si l’action n’est pas autorisée sur le type de CI spécifié dans l’état opérationnel spécifié.

    StateManagementScriptableApi : isNotAllowedOpsTransition(Chaîne ciType, Chaîne opsLabel, Chaîne transitionOpsLabel)

    Pour un type de CI, déterminez si une transition d’état opérationnelle n’est pas autorisée.

    Tableau 15. Paramètres
    Nom Type Description
    ciType Chaîne Le type de CI
    opsLabel Chaîne Étiquette de l’état opérationnel initial.
    transitionOpsLabel Chaîne Étiquette de l’état opérationnel de fin.
    Tableau 16. Renvoie
    Type Description
    Booléen Renvoie la valeur true si la transition d’état opérationnelle spécifiée n’est pas autorisée sur le type de CI spécifié.

    StateManagementScriptableApi : isValidRequestor(String requestorId)

    Détermine si le demandeur spécifié est un utilisateur de workflow actif valide ou un utilisateur enregistré.

    Tableau 17. Paramètres
    Nom Type Description
    requestorId Chaîne Sys_id d’un contexte de workflow ou du GUID renvoyé par la méthode registerOperator( ).
    Tableau 18. Renvoie
    Type Description
    Chaîne Paires nom-valeur au format JSON.
    Valeurs possibles :
    • résultat : vrai si le requestorId est valide.
    • Erreurs : liste des erreurs.

    Cet exemple montre comment utiliser la méthode isValidRequestor() pour vérifier si un opérateur est un utilisateur enregistré.

    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUtil = new JSON();
    var result = jsonUtil.decode(output);
    var requestorId = result.requestorId; // Fetching requestorId
    
    output = SNC.StateManagementScriptableApi.isValidRequestor(requestorId);
    gs.info(output);

    Sortie :

    {"result":true}

    StateManagementScriptableApi : registerOperator()

    Enregistre un opérateur pour un utilisateur n’utilisant pas de workflow.

    Tableau 19. Paramètres
    Nom Type Description
    Aucun
    Tableau 20. Renvoie
    Type Description
    Chaîne Chaîne au format JSON avec des paires nom-valeur pour
    • requestorid : GUID d’utilisateur enregistré qui est utilisé pour définir les états d’action/opérationnels du CI.
    • Résultat : vrai en cas d’inscription réussie.
    • Erreurs : liste des erreurs.
    
    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUntil = new JSON();
    var result = jsonUntil.decode(output);
    var requestorId = result.requestorId;
    

    StateManagementScriptableApi : removeBulkCIAction(String requestorId, String sysIdList, String ciActionName)

    Supprime une action de CI pour une liste de CI.

    Tableau 21. Paramètres
    Nom Type Description
    requestorId Chaîne Une sys_id d’un contexte de workflow, ou le GUID retourné par la méthode registerOperator( ).
    sysIdList Chaîne Une liste de CI séparés par des virgules sys_ids
    ciActionName Chaîne Le nom de l’action de CI
    Tableau 22. Renvoie
    Type Description
    Chaîne Chaîne au format JSON avec des paires nom-valeur pour
    • résultat : vrai si l’action est supprimée pour tous les CI de la liste ; sinon, faux.
    • Erreurs : liste des erreurs.

    StateManagementScriptableApi : setBulkCIOperationalState(String requestorId, String sysIdList, String opsLabel, String opsStateListOld)

    Définissez l’état opérationnel pour la liste des CI.

    Tableau 23. Paramètres
    Nom Type Description
    requestorId Chaîne Une sys_id d’un contexte de workflow, ou le GUID retourné par la méthode registerOperator( ).
    sysIdList Chaîne Une liste de CI séparés par des virgules sys_ids.
    opsLabel Chaîne Il s’agit de l’étiquette de chaîne d’un choix operational_status.
    opsStateListOld Chaîne (Facultatif) Liste séparée par des virgules des anciens états de CI dans lesquels tous les CI doivent figurer.
    Tableau 24. Renvoie
    Type Description
    Chaîne Chaîne au format JSON avec des paires nom-valeur pour
    • résultat : vrai si l’état est défini pour tous les CI de la liste ; sinon, faux.
    • Erreurs : liste des erreurs.
    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUntil = new JSON();
    var result = jsonUtil.decode(output);
    var requestorId = result.requestorId;
    
    // list of sys_ids to update
    var sys_ids;
    
    // Set list of sys_ids's Operational State to 'Repair in Progress'
    output = SNC.StateManagementScriptableApi.setBulkCIOperationalState(requestorId, sys_ids,'Repair in Progress');
    gs.print(output);
    

    StateManagementScriptableApi : unregisterOperator(chaîne requestorId)

    Annule l’inscription d’un opérateur pour les utilisateurs qui ne font pas partie du workflow.

    Tableau 25. Paramètres
    Nom Type Description
    requestorId Chaîne Sys_id d’un contexte de workflow ou du GUID renvoyé par la méthode registerOperator( ).
    Tableau 26. Renvoie
    Type Description
    Chaîne Paires nom-valeur au format JSON.
    Valeurs possibles :
    • Résultat : vrai en cas d’annulation réussie de l’enregistrement
    • Erreurs : liste des erreurs.

    Cet exemple montre comment utiliser la méthode unregisterOperator() pour annuler l’inscription d’un utilisateur enregistré.

    var output = SNC.StateManagementScriptableApi.registerOperator();
    var jsonUtil = new JSON();
    var result = jsonUtil.decode(output);
    var requestorId = result.requestorId; // Fetching requestorId
    
    output = SNC.StateManagementScriptableApi.unregisterOperator(requestorId);
    gs.info(output); 

    Sortie :

    {"result":true}