StateManagementScriptableApi : global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 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 signalé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
    ID du demandeur Chaîne La sys_id d’un contexte de workflow, ou le GUID renvoyé par la méthode registerOperator().
    sysIdList Chaîne Une liste séparée par des virgules des sys_ids CI.
    ciActionName Chaîne Nom de l’action de CI.
    ciActionListOld Chaîne (Facultatif) Liste séparée par des virgules des anciennes actions de CI dans lesquelles tous les CI doivent 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( String requestorId, String ciSysId, String ciActionName, String leaseTime)

    Prolongez le délai CI-action-bail pour l’utilisateur enregistré. Si le bail précédent a expiré, la nouvelle période de bail commence maintenant.

    Tableau 3. Paramètres
    Nom Type Description
    ID du demandeur Chaîne La sys_id d’un contexte de workflow, ou le GUID renvoyé par la méthode registerOperator().
    ciSysId Chaîne L’sys_id du CI.
    ciActionName Chaîne Nom de l’action de 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(chaîne 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 no_active_action.
    • errors : 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.
    • errors : 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(chaîne actionName, chaîne otherActionName)

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

    Tableau 9. Paramètres
    Nom Type Description
    actionName Chaîne Nom de l’action d’un CI
    otherActionName Chaîne Nom de l’action d’un 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
    ID du demandeur Chaîne La sys_id d’un contexte de workflow, ou le GUID renvoyé par la méthode registerOperator().
    ciSysId Chaîne L’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(String ciType, String opsLabel, String 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 Type de CI
    opsLabel (en anglais seulement) Chaîne L’état opérationnel
    actionName Chaîne Nom de l’action de CI
    Tableau 14. Renvoie
    Type Description
    Booléen Renvoie la valeur true si l’action n’est pas autorisée sur le type de CI spécifié dans l’état opérationnel spécifié.

    StateManagementScriptableApi : isNotAllowedOpsTransition(String ciType, String opsLabel, String transitionOpsLabel)

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

    Tableau 15. Paramètres
    Nom Type Description
    ciType Chaîne Type de CI
    opsLabel (en anglais seulement) Chaîne Étiquette de l’état opérationnel début.
    transitionOpsLabel (en anglais seulement) 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érationnel spécifiée n’est pas autorisée sur le type de CI spécifié.

    StateManagementScriptableApi : isValidRequestor (chaîne requestorId)

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

    Tableau 17. Paramètres
    Nom Type Description
    ID du demandeur 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 qui ne fait pas partie du 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 de l’utilisateur enregistré utilisé pour définir les états d’action/opérationnels du CI.
    • Résultat : vrai en cas d’enregistrement réussi.
    • 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
    ID du demandeur Chaîne La sys_id d’un contexte de workflow, ou le GUID renvoyé par la méthode registerOperator().
    sysIdList Chaîne Liste de CI séparés par des virgules sys_ids
    ciActionName Chaîne 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 de la liste des CI.

    Tableau 23. Paramètres
    Nom Type Description
    ID du demandeur Chaîne La sys_id d’un contexte de workflow, ou le GUID renvoyé par la méthode registerOperator().
    sysIdList Chaîne Liste d’sys_ids de CI séparés par des virgules.
    opsLabel (en anglais seulement) Chaîne Il s’agit de l’étiquette de chaîne d’un choix operational_status.
    opsStateListOld Chaîne (Facultatif) Une liste séparée par des virgules des anciens CI indique que 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 n’appartenant pas au workflow.

    Tableau 25. Paramètres
    Nom Type Description
    ID du demandeur 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 de désinscription réussie
    • 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}