StateManagementScriptableApi : global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 7 minutes de lecture
  • StateManagementScriptableApi fournit un ensemble de méthodes pour manipuler les états opérationnels des 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)

    Ajoutez une action de CI à une liste de CI.

    Tableau 1. Paramètres
    Nom Type Description
    ID du demandeur Chaîne Une 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 de 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 laquelle 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 d’erreurs.

    StateManagementScriptableApi : extendCIActionLease( String requestorId, String ciSysId, String ciActionName, String leaseTime)

    Prolongez la durée CI-action-lease pour l’utilisateur inscrit. 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 Une 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 d’erreurs.

    StateManagementScriptableApi : getCIActions(String ciSysId)

    Renvoie une liste d’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 Une 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.
    • errors : liste d’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 Une 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 d’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 Nom de l’action de CI
    otherActionName Chaîne Nom de l’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
    ID du demandeur Chaîne Une 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 d’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 Le type de CI
    Étiquette op 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 Le type de CI
    Étiquette op Chaîne Étiquette du début de l’état opérationnel.
    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(String 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 d’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 n’est pas un 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 si l’enregistrement réussit.
    • Erreurs : liste d’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 Une sys_id d’un contexte de workflow ou le GUID renvoyé par la méthode registerOperator( ).
    sysIdList Chaîne Liste séparée par des virgules des sys_ids CI
    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 d’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 Une sys_id d’un contexte de workflow ou le GUID renvoyé par la méthode registerOperator( ).
    sysIdList Chaîne Liste séparée par des virgules des sys_ids de CI.
    Étiquette op Chaîne Il s’agit de l’étiquette de chaîne d’un choix operational_status.
    opsStateListOld Chaîne (Facultatif) Une liste des anciens CI séparés par des virgules 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 d’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( String requestorId)

    Annule l’inscription d’un opérateur pour les utilisateurs qui ne font pas partie d’un 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 d’annulation de l’inscription réussie
    • Erreurs : liste d’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}