RemedialActionEngine : délimité

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 7 minutes de lecture
  • L’API RemedialActionEngine fournit des méthodes d’utilisation des actions de rattrapage.

    Cette API fait partie du Cadre de travail des actions de rattrapage et peut être utilisée pour effectuer les actions suivantes :
    • Lancez une action de rattrapage.
    • Déclenchez l’exécution d’une action de rattrapage.
    • Vérifiez l’autorisation de l’utilisateur connecté pour exécuter l’action de rattrapage.
    • Vérifiez l’applicabilité de l’action de rattrapage par rapport à l’enregistrement cible.
    • Obtenez l’état d’exécution actuel et la charge utile de sortie de l’action ciblée.

    Cette API nécessite l’application de stockage Cadre de travail des actions de rattrapage (com.snc.sn_reacf) et est fournie dans l’espace de noms sn_reacf .

    RemedialActionEngine : beginRemediation (chaîne remedialAction, chaîne parentTable, chaîne parentRecord, objet actionParams, chaîne targetRecord, chaîne originRecord)

    Démarre toute action de rattrapage à partir de l’enregistrement parent sur un enregistrement cible. Cette méthode crée un nouvel enregistrement d’exécution de l’action de rattrapage à l’état « Prêt ».

    Remarque :
    Lors de la définition des paramètres de demande, n’oubliez pas que :
    • Si le type de paramètre est un objet ou un tableau, définissez chaque propriété et son type.
    • Si le type de paramètre est GlideRecord, indiquez la table associée dans votre demande.
    Tableau 1. Paramètres
    Nom Type Description
    action de rattrapage Chaîne ou GlideRecord Sys_id, internal_name ou GlideRecord de la table Action exécutive [sn_reacf_remedial_action].
    parentTable Chaîne Nom de la table de l’enregistrement parent.
    parentRecord Chaîne Sys_id de l’enregistrement parent.
    actionParams Objet

    Facultatif. Carte des noms et des valeurs des paramètres d’action de rattrapage.

    {
        “<parameter name>”: <parameter value>
    }
    Remarque :
    La valeur du paramètre doit être du type défini dans la table Paramètre [sn_reacf_remedial_action_parameter] de l’action de rattrapage.
    targetRecord Chaîne ou GlideRecord Facultatif. Sys_id ou GlideRecord de la table cible configurée.
    originRecord Chaîne ou GlideRecord Facultatif. Sys_id ou GlideRecord de la table Origine de l’action de rattrapage [sn_reacf_remedial_action_origin].
    Tableau 2. Renvoie
    Type Description
    Objet
    {
        "statusCode": "String",
        "actionExecutionRequestId": "String",
        "parentRecord": "String",
        "parentTable": "String"
    }
    <Object>.statusCode Code d’état de la demande d’exécution de l’action de rattrapage, c’est-à-dire réussie, duplicate_request ou échouée
    <Object>.actionExecutionRequestId Sys_id du nouvel enregistrement d’exécution de l’action de rattrapage ou de l’enregistrement de l’exécution de l’action de rattrapage simultanée en double
    <Object>.parentRecord Sys_id de l’enregistrement parent de l’enregistrement de l’exécution de l’action de rattrapage simultanée en double.
    <Object>.parentTable Nom de table de l’enregistrement parent de l’enregistrement de l’exécution de l’action de rattrapage simultanée en double.

    L’exemple suivant montre comment démarrer une action de rattrapage. Ici, l’action de rattrapage utilise une action de CI en interne pour arrêter un processus sur un CI.

    var remedialAction = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of the Action
    var parentTable = "incident"; //table name of the Parent record
    var parentRecord = "62733787871e25105763ec6d0ebb3579" //sys_id of the Parent record
    var actionParams = {
        process_id: "322113"
    }
    var targetRecord = "af57a3418775e5105763ec6d0ebb356d"; //sys_id of the Target record
    var originRecord = "26e78022c3d525104f1a722e3f40dd99"; //sys_id of the Origin record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var response = remedialActionEngine.beginRemediation(remedialAction, parentTable, parentRecord, actionParams, targetRecord, originRecord);
     
    gs.info(JSON.stringify(response));
    

    Objet de sortie :

    Case 1 :successful : 
    {
      ‘statusCode’: ‘successful’,
      ‘actionExecutionRequestId: ‘979b6060a5954300964fa3aa92874155’
    
    }
    
    Case 2 :Duplicate : 
    {
      ‘statusCode’: ‘duplicate_request,
      ‘actionExecutionRequestId’: ‘552c48888c033300964f4932b03eb092’,
      ‘parentRecord’ : ‘1a14620f973be110539e35d11153afc8’,
      ‘parentTable’: ‘incident’
    
    }
    
    Case 3 : Failed 
    {
      ‘statusCode’: ‘failed,
    }
    

    RemedialActionEngine : canCancel(String remedialActionExecution)

    Cette méthode est utilisée pour vérifier si l’utilisateur actuel peut ou non annuler l’exécution de l’action de rattrapage donnée.

    Remarque :
    Lors de la définition des paramètres de demande, n’oubliez pas que :
    • Si le type de paramètre est un objet ou un tableau, définissez chaque propriété et son type.
    • Si le type de paramètre est GlideRecord, indiquez la table associée dans votre demande.
    Tableau 3. Paramètres
    Nom Type Description
    remedialActionExecution Chaîne ou GlideRecord Sys_id ou GlideRecord de la table Exécution de l’action de rattrapage [sn_reacf_remedial_action_execution].
    Tableau 4. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si la demande d’exécution de l’action de rattrapage peut ou non être annulée.

    Valeurs valides :
    • vrai : la demande d’exécution de l’action de rattrapage spécifiée peut être annulée.
    • faux : la demande d’exécution de l’action de rattrapage spécifiée ne peut pas être annulée.

    L’exemple suivant montre comment valider si l’utilisateur actuel peut annuler une exécution d’action de rattrapage dans son état actuel.

    var remedialActionExecutionId = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of sn_reacf_remedia_action_execution record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var canCancel = remedialActionEngine.canCancel(remedialActionExecutionId)
    
    gs.info("canCancel: " + canCancel);
    

    Sortie :

    canCancel: true

    RemedialActionEngine : cancelExecution(chaîne remedialActionExecution)

    Annule une demande d’exécution d’action de rattrapage, puis met à jour l’enregistrement d’exécution sur l’état « Annulé » et renvoie la valeur vrai en cas de réussite.

    Remarque :
    Lors de la définition des paramètres de demande, n’oubliez pas que :
    • Si le type de paramètre est un objet ou un tableau, définissez chaque propriété et son type.
    • Si le type de paramètre est GlideRecord, indiquez la table associée dans votre demande.
    Tableau 5. Paramètres
    Nom Type Description
    remedialActionExecution Chaîne ou GlideRecord Sys_id ou GlideRecord de la table Exécution de l’action de rattrapage [sn_reacf_remedial_action_execution].
    Tableau 6. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si la demande d’exécution de l’action de rattrapage peut ou non être annulée.

    Valeurs valides :
    • vrai : la demande d’exécution de l’action de rattrapage spécifiée a été annulée avec succès. Un état vrai met à jour l’enregistrement d’exécution sur l’état « Annulé ».
    • faux : la demande d’exécution de l’action de rattrapage spécifiée n’a pas été annulée avec succès.

    L’exemple suivant montre comment annuler l’exécution d’une action de rattrapage à partir de son état actuel.

    var remedialActionExecutionId = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of sn_reacf_remedia_action_execution record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var cancelExecution = remedialActionEngine.cancelExecution(remedialActionExecutionId)
    
    gs.info(‘cancelExecution: ’ + cancelExecution);

    Sortie :

    cancelExecution : true

    RemedialActionEngine : executeRemedialAction (chaîne remedialActionExecution)

    Déclenche toute exécution d’action de rattrapage qui a été commencée et qui est actuellement à l’état Prêt. Cette méthode lance l’action ciblée (par exemple, l’action de CI) et fait passer l’état d’exécution de l’action de rattrapage sur « En cours ».

    Tableau 7. Paramètres
    Nom Type Description
    remedialActionExecution Chaîne ou GlideRecord Sys_id ou GlideRecord de la table Exécution de l’action de rattrapage [sn_reacf_remedial_action_execution].
    Tableau 8. Renvoie
    Type Description
    Objet

    L’objet contient le action_execution_table et le action_execution_id de l’exécution de l’action de rattrapage.

    {
       “action_execution_table”: “String”,
       “action_execution_id”: “Sys_id”
    }
    

    L’exemple suivant montre comment exécuter n’importe quelle action de rattrapage.

    var remedialActionExecution = "8ed58be387d2a5100295ebd73cbb35a3"; //Sys_id of the Remedial Action Execution record 
     
    var remedialActionEngine = new sn_reacf.RemedialActionEngine(); 
    var response = remedialActionEngine.executeRemedialAction(remedialActionExecution); 
    gs.info("Response: " + JSON.stringify(response, null, 2));

    Sortie :

    { 
      "action_execution_table": "sn_cimaf_action_request", 
      "action_execution_id": "2d7843a787d2a5100295ebd73cbb35d4" 
    }

    RemedialActionEngine : getRemedialActionOutput (chaîne remedialActionExecution)

    Obtient l’état d’exécution actuel et la charge utile de sortie de l’action ciblée.

    Tableau 9. Paramètres
    Nom Type Description
    remedialActionExecution Chaîne ou GlideRecord Sys_id ou GlideRecord de la table Exécution de l’action de rattrapage [sn_reacf_remedial_action_execution].
    Tableau 10. Renvoie
    Type Description
    Objet

    L’objet contient l’objet d’état ayant la valeur et la valeur d’affichage de l’action cible, le statut de l’action, et le tableau de charge utile contenant les sorties d’action cible exécutées dans le cadre de l’exécution de l’action de rattrapage.

    Type de données : chaîne

    {
      "status": {
        "value": "completed",
        "displayValue": "Completed"
      },
      "payload": [
        "{\"output\":\"SUCCESS: The process with PID 19604 has been terminated.\\r\\n\",\"cmd\":\"taskkill /pid 19604 /f\"}"
      ]
    }

    L’exemple suivant montre comment obtenir l’état d’exécution actuel et la charge utile de sortie de l’action ciblée.

    var remedialActionExecution = "8ed58be387d2a5100295ebd73cbb35a3"; //sys_id of the Remedial Action Execution record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var response = remedialActionEngine.getRemedialActionOutput(remedialActionExecution);
    
    gs.info("Response: " + JSON.stringify(response, null, 2));
    

    Sortie :

    {
      "status": {
        "value": "completed",
        "displayValue": "Completed"
      },
      "payload": [
        "{\"output\":\"SUCCESS: The process with PID 19604 has been terminated.\\r\\n\",\"cmd\":\"taskkill /pid 19604 /f\"}"
      ]
    }

    RemedialActionEngine : isApplicable (chaîne remedialAction, chaîne targetRecord)

    Vérifie l’applicabilité de toute action de rattrapage par rapport à un enregistrement cible.

    Tableau 11. Paramètres
    Nom Type Description
    action de rattrapage Chaîne ou GlideRecord Sys_id, internal_name ou GlideRecord de la table des actions de rattrapage [sn_reacf_remedial_action].
    targetRecord Chaîne ou GlideRecord Sys_id ou GlideRecord de la table cible configurée.
    Tableau 12. Renvoie
    Type Description
    Booléen
    Marqueur indiquant l’applicabilité de l’enregistrement cible pour l’action de rattrapage.
    • vrai : l’action de rattrapage est applicable à l’enregistrement cible spécifié.
    • Faux : l’action de rattrapage ne s’applique pas à l’enregistrement cible spécifié.

    L’exemple suivant montre comment vérifier l’applicabilité d’une action de rattrapage par rapport à un enregistrement cible.

    var remedialAction = "9ef9924c436521101a24ff53e9b8f2d2"; //Sys_id of the Remedial Action Execution record 
    var targetRecord = "df3799a387a921100295ebd73cbb35c4"; //Sys_id of the Target Record 
     
    var remedialActionEngine = new sn_reacf.RemedialActionEngine(); 
    var isApplicable = remedialActionEngine.isApplicable(remedialAction, targetRecord); 
    gs.info("Is applicable: " + isApplicable);

    Sortie :

    Is applicable: true

    RemedialActionEngine : isAuthorized(String remedialAction)

    Vérifie si l’utilisateur est autorisé à exécuter l’action de rattrapage.

    Tableau 13. Paramètres
    Nom Type Description
    action de rattrapage Chaîne ou GlideRecord Sys_id, internal_name ou GlideRecord de la table Actions de rattrapage [sn_reacf_remedial_action].
    Tableau 14. Renvoie
    Type Description
    Booléen

    Marqueur qui indique l’état de réussite de l’autorisation de l’utilisateur.

    • vrai : l’autorisation de l’utilisateur a réussi.
    • faux : l’autorisation de l’utilisateur a échoué.

    L’exemple suivant montre comment vérifier l’autorisation d’exécuter une action de rattrapage.

    var actionSysId = "e62f550843e121101a24ff53e9b8f23b"; //Sys_id of the Action 
     
    var remedialActionEngine = new sn_reacf.RemedialActionEngine(); 
    var isAuthorized = remedialActionEngine.isAuthorized(actionSysId); 
    gs.info("Is user authorized: " + isAuthorized);

    Sortie :

    Is user authorized: true