RemedialActionEngine - 범위 지정

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기14분
  • RemedialActionEngine 범위가 지정된 API는 수정 작업을 수행하기 위한 일반적인 메서드를 제공합니다.

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

    이 API에는 com.snc.sn_reacf(Remedial Actions Framework) 스토어 애플리케이션이 필요하며 sn_reacf 네임스페이스 내에서 제공됩니다.

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

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

    주:
    요청 매개변수를 정의할 때는 다음 사항에 유의하십시오.
    • 매개변수 유형이 객체 또는 배열인 경우 각 속성과 해당 유형을 정의합니다.
    • 매개변수 유형이 GlideRecord인 경우 요청에 연결된 테이블을 제공합니다.
    표 1. 매개변수
    이름 유형 설명
    정정 작업 String 또는 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 String 또는 GlideRecord 옵션입니다. 구성된 대상 테이블의 Sys_id 또는 GlideRecord입니다.
    오리지널레코드 String 또는 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>.부모 기록 중복된 동시 정정 작업 실행 기록의 상위 기록의 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(remedialActionExecution문자열)

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

    주:
    요청 매개변수를 정의할 때는 다음 사항에 유의하십시오.
    • 매개변수 유형이 객체 또는 배열인 경우 각 속성과 해당 유형을 정의합니다.
    • 매개변수 유형이 GlideRecord인 경우 요청에 연결된 테이블을 제공합니다.
    표 3. 매개변수
    이름 유형 설명
    remedialAction실행 String 또는 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)

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

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

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

    유효한 값은 다음과 같습니다.
    • 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. 매개변수
    이름 유형 설명
    remedialAction실행 String 또는 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. 매개변수
    이름 유형 설명
    remedialAction실행 String 또는 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. 매개변수
    이름 유형 설명
    정정 작업 String 또는 GlideRecord 정정 작업 [sn_reacf_remedial_action] 테이블의 Sys_id 또는 internal_name 또는 GlideRecord입니다.
    targetRecord String 또는 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. 매개변수
    이름 유형 설명
    정정 작업 String 또는 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