자동으로 주문 가이드 실행하기

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기6분
  • Service Catalog 주문 가이드를 사용하면 고객이 여러 주문 항목을 생성할 수 있는 단일 Service Catalog 요청을 만들 수 있습니다. 관리자는 워크플로우 또는 스크립트에서 자동으로 실행되도록 주문 가이드를 구성하여 Service Catalog 요청을 수동으로 제출하지 않고도 주문 항목 세트를 생성할 수 있습니다. 관리자는 주문 가이드 오류를 검토하고 다시 처리할 수도 있습니다.

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

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

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

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

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

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

    SNC를 사용합니다. ScriptableOrderGuide(String orderGuideId) 생성자를 사용하여 새 ScriptableOrderGuide 오브젝트를 만들 수 있습니다.

    방법 요약

    방법 값 반환 설명
    프로세스(문자열 json) 부울 JSON으로 인코딩된 문자열 매개변수를 주문 가이드에 대한 입력으로 사용하여 주문 가이드를 실행합니다. 처리의 성공 여부에 따라 true 또는 false 를 반환합니다.
    주:
    AND 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 변수를 사용하는 경우 스크립트도 매개변수를 department 전달해야 합니다.
    • AND requested_for 매개변수는 모두 opened_by 주문 가이드에 전달되어야 하며 유효한 사용자 기록 sys_id 값을 가져야 합니다.

    결과

    • 성공: 활동이 주문 가이드를 성공적으로 처리했습니다. 그렇다고 해서 요청이 생성되었다는 의미는 아닙니다. 요청이 만들어지면 요청 sys_id가 sc_request 변수 아래 워크플로우 스크래치패드에 추가됩니다.
    • 실패: 주문 가이드를 처리하는 동안 오류가 발생하여 실패 기록을 만듭니다. 처리에 실패하면 실패 기록을 보고 편집할 수 있습니다.

    워크플로우 예

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

    활동은 이 스크립트를 사용하여 다음을 수행합니다.
    1. HR 변경 기록에서 이전에 생성된 JSON 문자열을 가져옵니다.
    2. 필수 및 requested_for 매개변수를 opened_by 해당 문자열에 추가합니다.
    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] 테이블에 장애 기록이 생성됩니다.

    오류에 대한 세부 정보를 보려면 다음으로 이동합니다. Service Catalog > 카탈로그 관리 > 스크립트 가능한 주문 가이드 장애그런 다음 실패 기록을 엽니다.

    재처리 실패

    초기 실패의 원인이 된 오류를 수정한 경우 실패한 주문 가이드를 다시 처리할 수 있습니다.

    프로시저

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