UniversalTaskUtils - 범위가 지정됨, 전역

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기6분
  • UniversalTaskUtils 스크립트 포함은 범용 작업을 관리하기 위한 메서드를 제공합니다.

    ServiceNow 에이전트는 범용 작업 애플리케이션을 사용하여 직원에 대한 작업을 생성할 수 있습니다. 예를 들어 에이전트는 추가 정보를 요청하거나 상위 티켓 또는 요청을 해결하기 위한 작업을 요청할 수 있습니다. 범용 작업은 작업 [task] 테이블을 확장하는 모든 티켓 유형에 사용할 수 있습니다.

    이 스크립트 포함을 사용하면 활성 범용 작업의 상태를 "완료" 또는 "취소됨"으로 변경하고, 지정된 상위 작업에 대한 모든 활성 범용 작업을 가져오고, 상위 범용 작업에 하위 항목이 있는지 확인하고, 범용 작업 기록에 템플릿을 적용할 수 있습니다. 스크립트와 탭 구성 양식의 표시되는 가능한 조건 작성기에서 이러한 방법을 사용하여 범용 작업 탭에 표시되는 데이터를 관리할 수 있습니다. 자세한 내용은 표준 티켓 페이지에서 작업 탭 추가를 참조하십시오.

    탭 구성 조건부 작성기 예

    범위가 지정된 애플리케이션뿐만 아니라 전역 애플리케이션에서도 이 스크립트 포함을 사용할 수 있습니다. 이 스크립트 포함에 액세스하려면 연결된 인스턴스에 범용 작업 애플리케이션(sn_uni_task)이 설치되어 있어야 합니다. 이 API에서 메서드를 호출할 때 항상 sn_uni_task 네임스페이스를 지정해야 합니다.

    범용 작업 애플리케이션에 대한 자세한 내용은 범용 작업을 참조하십시오.

    UniversalTaskUtils - applyTemplate(String templateSysId, GlideRecord uniTaskGr)

    지정된 범용 작업 템플릿을 지정된 범용 작업 기록에 적용합니다.

    이 방법을 사용하려면 먼저 인스턴스에 범용 작업 템플릿이 구성되어 있어야 합니다. 자세한 내용은 범용 작업 템플릿을 참조하십시오.

    표 1. 매개변수
    이름 유형 설명
    templateSysId 문자열 지정된 범용 작업 기록에 적용할 범용 작업 템플릿의 Sys_id입니다.

    테이블: 범용 작업 템플릿 [sn_uni_task_template]

    uniTaskGr GlideRecord 템플릿을 적용할 범용 작업 기록의 GlideRecord입니다.
    표 2. 반환
    유형 설명
    안 함 모든 오류는 시스템 로그에 기록됩니다.

    이 코드 예제에서는 피드백 템플릿을 획득한 다음 적용하는 함수를 보여 줍니다.

    (function executeRule(current, previous /*null when async*/) {
      var templateGr = new GlideRecord('sn_uni_task_template');
      templateGr.get('name','Feedback Template');
      var templateSysId = templateGr.getValue('sys_id');
      new sn_uni_task.UniversalTaskUtils().applyTemplate (templateSysId,current);
    })(current, previous);

    UniversalTaskUtils - getActiveChildTasks(문자열 parentSysId)

    지정된 상위 티켓에 대해 활성 하위 작업 기록을 GlideRecord 형식으로 반환합니다.

    그런 다음 호출 애플리케이션의 범위에 따라 범위가 지정되거나전역으로 지정된 GlideRecord API를 사용하여 반환된 데이터에 액세스할 수 있습니다(예: getRowCount() 메서드를 사용하여 활성 작업 수를 세는 등).

    표 3. 매개변수
    이름 유형 설명
    parentSysId 문자열 반환할 활성 하위 티켓이 있는 상위 티켓의 Sys_id입니다.
    표 4. 반환
    유형 설명
    GlideRecord 지정된 상위 작업에 대한 모든 활성 하위 작업 기록을 포함하는 GlideRecord입니다.

    다음 예제에서는 현재 sys_id에 대한 모든 활성 자식 작업을 가져온 다음 getRowCount() 를 사용하여 활성 자식 작업 수를 가져오는 함수를 보여 줍니다.

    (function executeRule(current, previous /*null when async*/) {
      var gr_ActiveTasks = new sn_uni_task.UniversalTaskUtils().getActiveChildTasks(current.sys_id);
      var count = gr_ActiveTasks.getRowCount();
    })(current, previous);

    UniversalTaskUtils - hasTasksToShow(GlideRecord 현재)

    지정된 상위 티켓에 진행 중 또는 완료 상태의 범용 작업이 있는지 확인합니다.

    이 방법을 사용하여 진행 중이거나 완료된 작업이 있는 경우에만 표준 티켓 구성에서 요청자에게 범용 작업 탭을 표시할지 여부를 결정할 수 있습니다.

    표 5. 매개변수
    이름 유형 설명
    current GlideRecord 확인할 상위 티켓의 GlideRecord입니다.
    표 6. 반환
    유형 설명
    sys_id 범용 작업이 상위 티켓과 연결된 경우 상위 티켓의 sys_id입니다. 그렇지 않으면 null입니다.

    데이터 유형: 문자열

    다음 예제에서는 이 메서드를 호출하여 범용 작업을 확인하는 함수를 보여 줍니다.

    (function executeRule(current, previous /*null when async*/) {
      var sysId = new sn_uni_task.UniversalTaskUtils().hasTasksToShow(current);           
    })(current, previous);

    UniversalTaskUtils - markActiveChildTasksCancelled(String parentSysId)

    지정된 상위 티켓 아래에 있는 모든 활성 범용 작업의 상태를 "취소됨"으로 변경합니다.

    표 7. 매개변수
    이름 유형 설명
    parentSysId 문자열 활성 하위 범용 작업의 상태를 "취소됨"으로 변경해야 하는 상위 티켓의 Sys_id입니다.
    표 8. 반환
    유형 설명
    안 함

    이 코드 예제에서는 이 메서드를 사용하여 지정된 상위 작업과 연결된 모든 범용 작업의 상태를 취소됨으로 업데이트하는 방법을 보여 줍니다.

    (function executeRule(current, previous /*null when async*/) {
      new sn_uni_task.UniversalTaskUtils().markActiveChildTasksCancelled(current.sys_id);
    })(current, previous);

    UniversalTaskUtils - markActiveChildTasksCompleted(문자열 parentSysId)

    지정된 상위 티켓과 연결된 모든 활성 하위 범용 작업의 상태를 "완료"로 변경합니다.

    표 9. 매개변수
    이름 유형 설명
    parentSysId 문자열 활성 하위 범용 작업의 상태를 "완료"로 변경해야 하는 상위 티켓의 Sys_id.
    표 10. 반환
    유형 설명
    안 함

    이 코드 예제에서는 이 메서드를 사용하여 지정된 부모 작업과 연결된 모든 유니버설 작업의 상태를 완료됨으로 업데이트하는 방법을 보여 줍니다.

    (function executeRule(current, previous /*null when async*/) {
      new sn_uni_task.UniversalTaskUtils().markActiveChildTasksCompleted(current.sys_id);
    })(current, previous);