RemedialActionEngine - 범위 지정됨

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 14분
  • RemedialActionEngine API는 정정 작업을 수행하기 위한 메서드를 제공합니다.

    이 API는 정정 작업 프레임워크의 일부이며 다음 작업을 수행하는 데 사용할 수 있습니다.
    • 정정 작업을 시작합니다.
    • 정정 작업 실행을 트리거합니다.
    • 정정 작업을 실행하려면 로그인한 사용자의 인증을 확인합니다.
    • 대상 기록에 대한 정정 작업의 적용 가능성을 확인합니다.
    • 대상 작업의 현재 실행 상태와 출력 페이로드를 가져옵니다.

    이 API에는 com.snc.sn_reacf(정정 작업 프레임워크) 스토어 애플리케이션이 필요하며 sn_reacf 네임스페이스 내에서 제공됩니다.

    RemedialActionEngine - beginRemediation(문자열 remedialAction, 문자열 parentTable, 문자열 parentRecord, 객체 actionParams, 문자열 targetRecord, 문자열 originRecord)

    대상 기록에 대해 상위 기록에서 정정 작업을 시작합니다. 이 방법은 "준비" 상태의 새 정정 작업 실행 기록을 생성합니다.

    주:
    요청 매개변수를 정의할 때는 다음 사항에 유의하십시오.
    • 매개변수 유형이 객체 또는 배열인 경우 각 속성과 해당 유형을 정의합니다.
    • 매개변수 유형이 GlideRecord인 경우 요청에 연결된 테이블을 제공합니다.
    표 1. 매개변수
    이름 유형 설명
    remedialAction 문자열 또는 GlideRecord 연방 조치 [sn_reacf_remedial_action] 테이블의 Sys_id 또는 internal_name 또는 GlideRecord입니다.
    parentTable 문자열 상위 기록의 테이블 이름입니다.
    parentRecord 문자열 상위 기록의 Sys_id입니다.
    actionParams 객체

    옵션입니다. 정정 작업 매개변수 이름 및 값의 맵입니다.

    {
        “<parameter name>”: <parameter value>
    }
    주:
    매개변수 값은 정정 작업 매개변수 [sn_reacf_remedial_action_parameter] 테이블에 정의된 유형이어야 합니다.
    targetRecord 문자열 또는 GlideRecord 옵션입니다. 구성된 대상 테이블의 Sys_id 또는 GlideRecord입니다.
    원본 기록 문자열 또는 GlideRecord 옵션입니다. 정정 작업 원본 [sn_reacf_remedial_action_origin] 테이블의 Sys_id 또는 GlideRecord입니다.
    표 2. 반환
    유형 설명
    객체
    {
        "statusCode": "String",
        "actionExecutionRequestId": "String",
        "parentRecord": "String",
        "parentTable": "String"
    }
    <Object>.statusCode 정정 작업 실행 요청의 상태 코드(예: 성공, duplicate_request 또는 실패)
    <Object>.actionExecutionRequestId 새 정정 작업 실행 기록 또는 중복 동시 정정 작업 실행 기록의 Sys_id
    <Object>.parentRecord 중복 동시 정정 작업 실행 기록의 상위 기록 Sys_id입니다.
    <Object>.parent테이블 중복 동시 정정 작업 실행 기록의 상위 기록의 테이블 이름입니다.

    다음 예시에서는 정정 작업을 시작하는 방법을 보여줍니다. 여기서 정정 작업은 내부적으로 CI 작업을 사용하여 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));
    

    출력 객체:

    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(문자열 remedialActionExecution)

    이 방법은 현재 사용자가 지정된 정정 작업 실행을 취소할 수 있는지 여부를 확인하는 데 사용됩니다.

    주:
    요청 매개변수를 정의할 때는 다음 사항에 유의하십시오.
    • 매개변수 유형이 객체 또는 배열인 경우 각 속성과 해당 유형을 정의합니다.
    • 매개변수 유형이 GlideRecord인 경우 요청에 연결된 테이블을 제공합니다.
    표 3. 매개변수
    이름 유형 설명
    remedialActionExecution 문자열 또는 GlideRecord 정정 작업 실행 [sn_reacf_remedial_action_execution] 테이블의 Sys_id 또는 GlideRecord입니다.
    표 4. 반환
    유형 설명
    부울

    정정 작업 실행 요청을 취소할 수 있는지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • 예: 지정된 정정 작업 실행 요청을 취소할 수 있습니다.
    • 아니오: 지정된 정정 작업 실행 요청을 취소할 수 없습니다.

    다음 예제에서는 현재 사용자가 현재 상태에서 정정 작업 실행을 취소할 수 있는지 여부를 확인하는 방법을 보여줍니다.

    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);
    

    출력:

    canCancel: true

    RemedialActionEngine - cancelExecution(문자열 remedialActionExecution)

    정정 작업 실행 요청을 취소한 다음 실행 기록을 "취소됨" 상태로 업데이트하고 성공 시 예를 반환합니다.

    주:
    요청 매개변수를 정의할 때는 다음 사항에 유의하십시오.
    • 매개변수 유형이 객체 또는 배열인 경우 각 속성과 해당 유형을 정의합니다.
    • 매개변수 유형이 GlideRecord인 경우 요청에 연결된 테이블을 제공합니다.
    표 5. 매개변수
    이름 유형 설명
    remedialActionExecution 문자열 또는 GlideRecord 정정 작업 실행 [sn_reacf_remedial_action_execution] 테이블의 Sys_id 또는 GlideRecord입니다.
    표 6. 반환
    유형 설명
    부울

    정정 작업 실행 요청을 취소할 수 있는지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • true: 지정된 정정 작업 실행 요청이 성공적으로 취소되었습니다. true의 상태는 실행 기록을 "취소됨" 상태로 업데이트합니다.
    • 아니오: 지정된 정정 작업 실행 요청이 성공적으로 취소되지 않았습니다.

    다음 예는 현재 상태에서 정정 작업 실행을 취소하는 방법을 보여줍니다.

    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);

    출력:

    cancelExecution : true

    RemedialActionEngine - executeRemedialAction(문자열 remedialActionExecution)

    시작되어 현재 준비 상태인 정정 작업 실행을 트리거합니다. 이 메서드는 대상 작업(예: CI 작업)을 시작하고 정정 작업 실행 상태를 "진행 중"으로 전환합니다.

    표 7. 매개변수
    이름 유형 설명
    remedialActionExecution 문자열 또는 GlideRecord 정정 작업 실행 [sn_reacf_remedial_action_execution] 테이블의 Sys_id 또는 GlideRecord입니다.
    표 8. 반환
    유형 설명
    객체

    객체에는 정정 작업 실행의 action_execution_table과 action_execution_id이 포함되어 있습니다.

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

    다음 예시에서는 정정 작업을 실행하는 방법을 보여줍니다.

    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));

    출력:

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

    RemedialActionEngine - getRemedialActionOutput(문자열 remedialActionExecution)

    대상 작업의 현재 실행 상태와 출력 페이로드를 가져옵니다.

    표 9. 매개변수
    이름 유형 설명
    remedialActionExecution 문자열 또는 GlideRecord 정정 작업 실행 [sn_reacf_remedial_action_execution] 테이블의 Sys_id 또는 GlideRecord입니다.
    표 10. 반환
    유형 설명
    객체

    객체에는 대상 작업 상태의 값과 표시 값이 있는 상태 객체와 정정 작업 실행의 일부로 실행된 대상 작업 출력이 있는 페이로드 배열이 포함됩니다.

    데이터 유형: 문자열

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

    다음 예제는 대상 작업의 현재 실행 상태와 출력 페이로드를 가져오는 방법을 보여줍니다.

    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));
    

    출력:

    {
      "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(문자열 remedialAction, 문자열 targetRecord)

    대상 기록에 대한 정정 작업의 적용 가능성을 확인합니다.

    표 11. 매개변수
    이름 유형 설명
    remedialAction 문자열 또는 GlideRecord 정정 작업 [sn_reacf_remedial_action] 테이블의 Sys_id 또는 internal_name 또는 GlideRecord입니다.
    targetRecord 문자열 또는 GlideRecord 구성된 대상 테이블의 Sys_id 또는 GlideRecord입니다.
    표 12. 반환
    유형 설명
    부울
    정정 작업에 대한 대상 기록의 적용 가능성을 나타내는 플래그입니다.
    • true: 정정 작업을 지정된 대상 기록에 적용할 수 있습니다.
    • 아니오: 정정 작업을 지정된 대상 기록에 적용할 수 없습니다.

    다음 예는 대상 기록에 대한 정정 작업의 적용 가능성을 확인하는 방법을 보여줍니다.

    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);

    출력:

    Is applicable: true

    RemedialActionEngine - isAuthorized(문자열 remedialAction)

    사용자에게 정정 작업을 실행할 권한이 있는지 확인합니다.

    표 13. 매개변수
    이름 유형 설명
    remedialAction 문자열 또는 GlideRecord 정정 작업 [sn_reacf_remedial_action] 테이블의 Sys_id 또는 internal_name 또는 GlideRecord입니다.
    표 14. 반환
    유형 설명
    부울

    사용자 인증의 결과 성공 상태를 나타내는 플래그입니다.

    • true: 사용자 인증에 성공했습니다.
    • false: 사용자 인증에 실패했습니다.

    다음 예는 정정 작업을 실행하기 위해 인증을 확인하는 방법을 보여줍니다.

    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);

    출력:

    Is user authorized: true