인라인 스크립트

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 7분
  • 코딩 경험이 있는 사용자가 작업 또는 플로우를 구성하는 동안 입력 값을 설정하고 수정하는 인라인 스크립트를 작성할 수 있도록 합니다. 인라인 스크립트를 사용하여 작은 형식 변환, 데이터 변환 또는 수학 연산이 필요한 입력 값을 수정합니다.

    변환 함수를 사용하여 스크립팅 없이 입력 값을 수정할 수도 있습니다. 사용 가능한 옵션 목록은 다음 문서를 변환 함수참조하십시오.

    워크플로우 스튜디오 이러한 구성요소를 구성할 때 스크립트 버튼을 표시합니다.
    • 플로우에 대한 작업을 구성할 때의 작업 입력
    • 플로우에 대한 작업을 구성할 때 작업 출력
    • 플로우에 대한 플로우 논리를 구성할 때 플로우 논리 입력
    • 플로우에 대한 플로우 논리를 구성할 때 플로우 논리 출력
    • 작업에 대한 단계를 구성할 때 단계 입력입니다.
    • 플로우에 대한 하위 플로우를 구성할 때 하위 플로우 입력입니다.
    • 플로우에 대한 하위 플로우를 구성할 때 하위 플로우 출력이 출력됩니다.

    인라인 스크립트는 입력에 필요한 것과 동일한 데이터 형식으로 값을 반환해야 합니다. 예를 들어 기록 입력에 대한 인라인 스크립트는 GlideRecord 객체를 반환해야 하고 날짜 입력에 대한 인라인 스크립트는 날짜-시간 값을 반환해야 합니다. 항상 인라인 스크립트가 포함된 작업 및 플로우를 테스트하고, 플로우 실행 상세 정보에 런타임 오류가 없는지 확인합니다.

    스크립트 작성자는 테이블 구조와 필드 유형에 익숙 ServiceNow AI Platform 해야 합니다. 또한 API를 사용하여 ServiceNow 기록 및 시스템 데이터로 작업하는 방법을 알아야 합니다.

    혜택

    인라인 스크립트는 이러한 이점을 제공합니다.
    • 사용자 지정 작업이나 플로우를 생성할 필요 없이 단순 데이터 변환 또는 변환을 사용합니다.
    • 스크립트가 영향을 주는 입력 데이터를 식별합니다.
    • 스크립팅 기능에 대한 접근을 사용 가능한 ServiceNow API에 대해 잘 아는 사용자나 그룹으로 제한했습니다.

    인라인 스크립트에 대한 액세스

    사용자에게 flow_designer_scripting 역할 또는 스크립트 작성 위임 개발 허용 권한을 부여하여 온라인 스크립팅에 대한 액세스 권한을 부여할 수 있습니다. 역할 권한과 개발자 권한 모두 각 워크플로우 스튜디오 입력에 대한 스크립트 버튼 필드를 표시합니다.

    스크립트 단추

    사용자가 인라인 스크립트를 워크플로우 스튜디오 생성할 수 있게 하면 플로우 및 단계 입력 옆에 스크립트 버튼이 표시됩니다.

    그림 1. 입력 옆에 스크립트 버튼이 표시됩니다.
    로그 작업에 사용할 수 있는 입력입니다. 레벨 및 메시지 입력에 스크립트 버튼이 표시됩니다.

    스크립트 버튼을 클릭하면 표준 입력 인터페이스를 대체하는 스크립트 편집기가 열립니다. 입력 값을 계산할 스크립트를 입력합니다.

    스크립트에 스크립트의 결과가 포함된 return 문이 포함되어 있는지 확인합니다. 예를 들어, shortDesc를 반환 하면 shortDesc 변수의 값이 반환됩니다.

    그림 2. 입력용 스크립트 편집기
    로그 작업에 사용할 수 있는 입력입니다. 메시지 입력은 64의 제곱근에 대한 수학 계산을 반환하는 스크립트 편집기와 스크립트를 표시합니다.

    스크립트 축소 버튼을 클릭하면 스크립트 편집기가 숨겨지고 입력의 읽기 전용 버전이 표시됩니다. 스크립트 확장 버튼을 클릭하면 스크립트 편집기가 표시되고 스크립트를 편집할 수 있습니다.

    그림 3. 스크립트를 포함하는 입력
    로그 작업에 사용할 수 있는 입력입니다. 메시지 입력에는 스크립팅됨(확장하여 편집) 텍스트가 표시됩니다.

    워크플로우 스튜디오 데이터 객체

    스크립트 작성자는 fd_data 객체를 사용하여 이전 작업 및 단계의 데이터에 액세스할 수 있습니다. fd_data 객체를 사용하여 플로우의 특정 출력으로 닷워킹합니다. 스크립트 편집기의 자동 완성 제안을 사용하여 특정 출력 값을 선택할 수 있습니다. 예를 들어 fd_data 입력하고 자동 완성 제안에서 _2__for_each.item 을 선택하여 fd_data._2__for_each.item에 대한 닷워킹 참조를 생성합니다. 이 참조는 플로우의 두 번째 출력에서 데이터에 액세스하며, 이 예시에서는 For Each 플로우 논리 항목입니다.
    중요사항:
    fd_data 객체에는 항상 특정 흐름 출력에 대한 닷워킹 참조가 필요합니다. 닷워킹 참조가 없으면 인라인 스크립트가 데이터에 액세스할 워크플로우 스튜디오 수 없습니다.

    워크플로우 스튜디오 작업, 플로우 또는 하위 플로우를 저장할 때마다 데이터 객체를 업데이트합니다. 자동 완성 제안에 대상이 포함되지 않은 경우 작업, 플로우 또는 하위 플로우를 저장한 다음 마침표 문자를 다시 입력하여 제안 목록을 새로 고침해 보십시오.

    표 1. Flow Designer 데이터 객체 옵션
    데이터 대상 참조 구문 예제
    작업 입력 fd_data.action_inputs를 사용합니다.작업 입력 이름 var 작업 = fd_data.action_inputs.task;
    플로우 변수 fd_data.flow_var입니다.플로우 변수 이름 var shortDesc = fd_data.flow_var.short_description;
    이전 작업, 플로우 논리 또는 단계의 출력 fd_data._output-target-step-number__output-target-name var 작업 기록 = fd_data._2__create_task;
    하위 플로우 입력 fd_data.subflow_inputs를 사용합니다.하위 플로우 입력 이름 var reqItem = fd_data.subflow_inputs.requested_item;
    트리거 fd_data.방아쇠.trigger-data-pill var incident = fd_data.trigger.current;

    일반 가이드라인

    다음 일반 지침에 따라 재사용 및 유지관리 가능한 인라인 스크립트를 생성합니다.

    재사용 불가능한 작은 논리를 위한 인라인 스크립트 작성
    인라인 스크립트 형식을 사용하거나 특정 입력 및 사용 사례에 대한 데이터를 수정합니다. 재사용 가능한 표준 입력 데이터 변환 및 형식 지정 작업의 경우, 대신 변환 함수를 선택합니다.
    사용 가능한 변환 함수 검토
    워크플로우 스튜디오 는 데이터 변환 및 형식화 작업을 위한 표준 변환 함수 목록을 제공합니다. 사용자 지정 스크립트 솔루션을 작성하고 유지 관리하는 대신, 기존 변환 함수(사용 가능한 경우)를 선택합니다.
    인라인 스크립트에서 스크립트 포함 호출
    인라인 스크립트에서 스크립트 포함을 호출하여 작성하는 코드의 양을 줄이고 공통 코드를 단일 위치에서 유지 관리합니다. 클래스 생성자를 사용하여 스크립트 포함을 호출합니다. 스크립트 포함을 만드는 방법에 대한 자세한 내용은 다음 문서를 참조하십시오 Script includes.
    var si = new MyScriptInclude();
    si.functionOne();
    인라인 스크립트가 아닌 재사용 가능한 코드에 대한 사용자 지정 작업 또는 하위 플로우 생성
    소스 데이터의 데이터 유형 변경과 같이 재사용 가능하거나 복잡한 데이터 로직에 대한 사용자 지정 동작 또는 하위 플로우를 생성합니다. 코드에 익숙하지 않은 플로우 디자이너를 위해 사용자 지정 작업 또는 하위 플로우를 제공할 수도 있습니다.
    작업 및 플로우 기능의 중복 방지
    작업 및 플로우 기능을 복제하는 인라인 스크립트를 작성하지 마십시오. 예를 들어, 기록 작업을 수행하기 위해 인라인 스크립트를 작성하는 대신, 기록 기준선 생성 및 업데이트 작업을 사용합니다.
    데이터 유형 변경 방지
    인라인 스크립트가 입력 또는 출력에 예상하는 것과 동일한 데이터 형식으로 정보를 제공하는지 확인하여 런타임 오류를 방지합니다.
    var 키워드로 선언하여 변수 생성
    var 키워드를 사용하여 변수가 적절한 JavaScript 범위 내에 유지되도록 변수를 선언합니다. 변수에 값을 할당하여 변수를 만들 때 JavaScript는 변수를 전역 객체에 연결할 수 있으며, 이로 인해 변수 값이 로컬 범위 밖에서 지속되어 오류가 발생할 수 있습니다.
    For Each 플로우 로직 및 플로우 데이터 객체로 기록 출력을 처리합니다.
    인라인 스크립트는 For Each 플로우 논리에서 기록 조회 작업의 기록 출력에만 액세스할 수 있습니다. 플로우에 기록 조회 작업을 추가하여 기록 출력을 생성합니다. 플로우에 For Each 플로우 로직을 추가하여 기록 출력의 각 기록을 처리합니다. fd_data 및 항목 객체를 사용하여 For Each 플로우 논리에 대한 인라인 스크립트 참조를 생성합니다. 예를 들어 이 참조에서는 For Each 플로우 로직이 플로우 개요 fd_data._2__for_each.item의 두 번째 항목이라고 가정합니다.
    자동 완성 제안을 사용하여 플로우 및 작업 데이터에 대한 참조를 생성합니다.
    fd_data 객체를 사용하여 플로우 및 작업 데이터에 대한 참조를 생성합니다. fd_data를 입력하면 스크립트 편집기에 기존 플로우 및 작업 데이터에 대한 자동 완성 제안이 표시됩니다. 플로우 및 작업 데이터에 대한 참조를 빌드하려면 제안을 선택합니다.
    주:
    항목 객체를 사용하여 For Each 플로우 로직의 기록 데이터를 참조하십시오.
    범위 루프 카운터

    스크립트 루프에는 최대 반복 횟수가 없으므로 유효한 종료 조건이 없을 때 루프가 무한히 실행됩니다.

    유효한 종료 조건이 있는지 확인하려면 인라인 스크립트 또는 동작 내의 스크립트 단계에서 범위 루프 카운터를 사용하십시오.var to(i=0; i< length; i++) 를 추가하고 for (var i=0; i< length; i++) 를 가져옵니다.

    라이선싱 고려 사항

    통합 API를 호출하는 인라인 스크립트에는 라이센스가 통합 허브 적용됩니다.

    코드 편집기

    코드 편집기는 인라인 스크립트에 대한 텍스트 편집기 지원을 제공합니다.

    코드 편집기에는 지원되는 언어 서비스 및 인라인 스크립트에 대해 다음과 같은 기능이 있습니다.
    • 구문 색상 적용, 들여쓰기, 줄 번호, 닫는 중괄호 및 따옴표 자동 작성
    • 자동 제안 및 자동 완성
    그림 4. 코드 편집기
    의 코드 편집기 워크플로우 스튜디오

    편집 팁

    • 코드의 아무 곳에나 고정 공백을 삽입하려면 Tab 키를 누릅니다.
    • 코드를 한 줄 들여쓰려면 줄의 선행 공백을 클릭한 다음 Tab 키를 누릅니다.
    • 코드를 한 줄 이상 들여쓰려면 코드를 선택한 다음 Tab 키를 누릅니다. 들여쓰기를 줄이려면 Shift+Tab을 누릅니다.
    • 코드 줄의 시작부에서 탭 하나를 제거하려면 줄을 클릭하고 Shift+Tab을 누릅니다.
    • 변수를 선언하려면 var 키워드를 사용하여 적절한 JavaScript 범위 내에 유지됩니다.