주문 가이드 자동 실행

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 6분
  • 서비스 카탈로그 주문 가이드를 통해 고객은 단일 서비스 카탈로그를 요청하여 여러 주문 항목을 생성할 수 있습니다. 관리자는 서비스 카탈로그 요청을 수동으로 제출하지 않고도 주문된 항목 세트를 생성하기 위해 워크플로우 또는 스크립트에서 주문 가이드를 자동으로 실행하도록 구성할 수 있습니다. 관리자는 주문 가이드 오류를 검토하고 다시 처리할 수도 있습니다.

    사용 사례로, 신입 직원의 온보딩 워크플로우에서 주문 가이드를 실행하여 해당 직원의 항목을 자동으로 주문할 수 있습니다.

    주:
    카탈로그 항목만 저장할 수 있으며 주문 가이드(즉, 초기 방문 페이지 옵션)는 저장할 수 없습니다.

    스크립트에서 주문 가이드 실행

    서버 측 스크립트로 주문 가이드를 실행하는 것은 워크플로를 사용하는 것보다 복잡하지만 유연성이 뛰어나고 워크플로가 아닌 상황에서 사용할 수 있습니다.

    예를 들어 UI 작업 또는 서버측 비즈니스 규칙과 함께 주문 가이드 스크립트를 사용할 수 있습니다.
    주:
    주문 가이드가 자동으로 실행될 때 주문 가이드 UI 정책은 적용되지 않습니다. 또한 옵션 선택 화면의 옵션을 선택할 수 없으므로 주문 가이드 규칙이 이러한 옵션에 대해 적절한 기본값을 정의하여 처리 실패를 방지해야 합니다.

    SNC를 사용합니다. ScriptableOrderGuide 스크립트로 주문 가이드를 실행하는 Java 클래스입니다.

    SNC를 사용합니다. ScriptableOrderGuide(String, orderGuideId) 생성자를 사용하여 새 ScriptableOrderGuide 객체를 만듭니다.

    메서드 요약

    방법 값 반환 설명
    프로세스(문자열 json) 부울 JSON으로 인코딩된 문자열 매개변수를 주문 가이드의 입력으로 사용하여 주문 가이드를 실행합니다. 처리의 성공 여부에 따라 true 또는 false 를 반환합니다.
    주:
    requested_for 매개변수는 모두 opened_by 주문 가이드에 전달되어야 하며 둘 다 유효한 사용자 기록 sys_id 값이 있어야 합니다.

    처리가 성공하고 주문 가이드에서 요청을 생성한 경우 getRequest()를 사용하여 GlideRecord 요청을 검색할 수 있습니다.

    처리에 실패하면 getFailure()를 사용하여 실패 GlideRecord를 검색한 다음 reprocess를 사용하여 재처리를 위해 스크립트를 제출할 수 있습니다.

    reprocess(GlideRecord 실패) 부울 실패 GlideRecord에 저장된 JSON 인코딩 문자열 매개변수를 사용하여 주문 가이드를 다시 실행합니다.
    getMessage() 문자열 처리 또는 재처리 후 채워진 메시지를 검색합니다.
    getRequest() GlideRecord GlideRecord 요청을 조회합니다.
    getFailure() GlideRecord 스크립트 가능한 주문 가이드 실패 [sc_script_order_guide_failure] 테이블에서 실패 GlideRecord를 검색합니다.

    스크립트 예

    이 스크립트는 IT 온보딩 SOG라는 주문 가이드를 처리합니다.
    // Creating the object to later be JSON encoded 
    var json = {"opened_by":"62826bf03710200044e0bfc8bcbe5df1","requested_for":"06826bf03710200044e0bfc8bcbe5d8a","department":"221f3db5c6112284009f4becd3039cc9"};
     
    var now_GR = new GlideRecord("sc_cat_item_guide");
    if (gr.get("name","IT Onboarding SOG")) {
      var sog = new SNC.ScriptableOrderGuide(gr.getValue("sys_id"));
      var result = sog.process(new JSON().encode(json));
      if(!result)
        gs.log("Processing the scriptable order guide failed with message: " + sog.getMessage());
      else { 
        var request = sog.getRequest();
        gs.log("Request created - " + request.sys_id); } }

    워크플로우에서 주문 가이드 실행

    워크플로에서 주문 가이드를 실행하는 것은 주문 가이드를 보다 광범위한 워크플로 기반 프로세스의 일부로 포함하는 경우에 적합합니다.

    예를 들어, 신입 직원의 온보딩 워크플로우 내의 활동은 해당 직원의 항목을 주문하기 위해 주문 가이드를 자동으로 실행할 수 있습니다.
    주:
    주문 가이드가 자동으로 실행될 때 주문 가이드 UI 정책은 적용되지 않습니다. 또한 옵션 선택 화면의 옵션을 선택할 수 없으므로 주문 가이드 규칙이 이러한 옵션에 대해 적절한 기본값을 정의하여 처리 실패를 방지해야 합니다.
    워크플로우에서 주문 가이드를 실행하려면 스크립트 가능한 주문 가이드 워크플로우 활동을 사용합니다.
    표 1. 워크플로우에서 주문 가이드 실행
    필드 설명
    주문 가이드 이 활동이 처리하는 주문 가이드의 이름입니다. 예: 직원 온보딩 IT
    스크립트 주문 가이드에 정보를 전달하는 스크립트 이 정보는 응답 변수에 할당된 JSON 인코딩 문자열 매개변수로 전송됩니다.
    스크립트는 다음 요구사항을 충족해야 합니다.
    • 스크립트의 변수 이름은 주문 가이드에 사용된 이름과 일치해야 합니다. 예를 들어, 주문 가이드가 규칙 조건에 부서 변수를 사용하는 경우 스크립트도 매개변수를 전달 department 해야 합니다.
    • requested_for 매개변수는 모두 opened_by 주문 가이드에 전달되어야 하며 둘 다 유효한 사용자 기록 sys_id 값이 있어야 합니다.

    결과

    • 성공: 활동이 주문 가이드를 성공적으로 처리했습니다. 요청이 생성되었음을 의미하지는 않습니다. 요청이 생성된 경우 요청 sys_id 워크플로우 스크래치패드의 sc_request 변수 아래에 추가됩니다.
    • 실패: 주문 가이드를 처리하는 동안 오류가 발생하여 장애 기록을 작성합니다. 처리에 실패하면 실패 기록을 보고 편집할 수 있습니다.

    워크플로우 예시

    직원 온보딩 IT 워크플로우 워크플로우 예시에서는 이 예시를 사용하여 온보딩 프로세스의 일부로 신입 직원에 대한 IT 카탈로그 항목을 생성합니다.

    활동은 이 스크립트를 사용하여 다음을 수행합니다.
    1. HR 변경 기록에서 이전에 생성된 JSON 문자열을 사용합니다.
    2. 필수 opened_byrequested_for 매개변수를 해당 문자열에 추가합니다.
    3. 주문 가이드에서 처리할 새 문자열을 제출합니다.
    var parameters  = new JSON().decode(current.payload);
     
    // Need to amend the json object to include additional values.
    parameters.opened_by = current.opened_by + "";
    parameters.requested_for = current.opened_for + "";
     
    answer = new JSON().encode(parameters);

    주문 가이드 보기 실패

    실행 중인 주문 가이드가 없는 경우에는 주문 가이드 처리에 실패할 수 있습니다. 주문 가이드 처리 중에 오류가 발생하면 스크립트 가능한 주문 가이드 오류 하위 모듈을 사용하여 오류를 검토하고 다시 처리할 수 있습니다. 각 실패에 대한 기록이 생성되고 초기 실패의 원인이 된 오류를 수정한 후에는 실패한 주문 가이드를 다시 처리할 수 있습니다.

    이 태스크 정보

    실패가 발생하면 스크립트 가능한 주문 가이드 실패[sc_script_order_guide_failure] 테이블에 실패 기록이 생성됩니다.

    실패에 대한 상세 정보를 보려면 다음으로 이동하십시오. 서비스 카탈로그 > 카탈로그 관리 > 스크립트 가능한 주문 가이드 장애을 클릭한 다음 장애 기록을 엽니다.

    재처리 실패: 초기 실패를 일으킨 오류를 수정한 경우 실패한 주문 가이드를 다시 처리할 수 있습니다.

    프로시저

    1. 다음으로 이동 서비스 카탈로그 > 카탈로그 관리 > 스크립트 가능한 주문 가이드 장애.
    2. 장애 기록을 엽니다.
    3. 재처리 관련 링크를 누릅니다.
      하나 이상의 실패를 다시 처리하려면 다음을 수행합니다.
      1. 다음으로 이동 서비스 카탈로그 > 카탈로그 관리 > 스크립트 가능한 주문 가이드 장애.
      2. 다시 처리할 하나 이상의 기록 옆에 있는 확인란을 선택합니다.
      3. 작업 선택 목록에서 다시 처리를 선택합니다.