RemedialActionEngine - 범위 지정됨

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기14분
  • RemedialActionEngine API는 정정 작업을 수행하기 위한 메서드를 제공합니다.

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

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

    RemedialActionEngine - beginRemediation (String remedialAction, String parentTable, String parentRecord, Object actionParams, String targetRecord, String originRecord)

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

    주:
    요청 매개변수를 정의할 때는 다음 사항에 유의하십시오.
    • 매개 변수 형식이 개체 또는 배열인 경우 각 속성과 해당 형식을 정의합니다.
    • 매개변수 유형이 GlideRecord인 경우 요청에 연결된 테이블을 제공합니다.
    표 1. 매개변수
    이름 유형 설명
    정정 작업 문자열 또는 GlideRecord Sys_id 또는 internal_name 또는 Femedial Action [sn_reacf_remedial_action] 테이블의 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>.status코드 정정 작업 실행 요청의 상태 코드(예: 성공, duplicate_request 또는 실패)
    <Object>.actionExecutionRequestId 새 정정 작업 실행 기록 또는 중복된 동시 정정 작업 실행 기록의 Sys_id
    <Object>.parentRecord 중복 동시 정정 작업 실행 기록의 상위 기록 Sys_id입니다.
    <Object>.parentTable 중복 동시 정정 작업 실행 기록의 상위 기록의 테이블 이름입니다.

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

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

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

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

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

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

    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(String remedialActionExecution)

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

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

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

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

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

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

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

    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. 매개변수
    이름 유형 설명
    정정 작업 문자열 또는 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