인라인 스크립트

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

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

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

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

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

    혜택

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

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

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

    스크립트 버튼

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

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

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

    스크립트에 스크립트 결과와 함께 return 문이 포함되어 있는지 확인합니다. 예를 들어, return shortDescshortDesc 변수의 값을 반환합니다.

    그림 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__출력 대상 이름 var taskRecord = fd_data._2__create_task;
    하위 플로우 입력 fd_data.subflow_inputs입니다.하위 플로우 입력 이름 var reqItem = fd_data.subflow_inputs.requested_item;
    트리거 fd_data.trigger입니다.trigger-data-pill var 인시던트 = fd_data.trigger.current;

    일반 지침

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

    재사용할 수 없는 작은 논리에 대한 인라인 스크립트 작성Write inline script for small non-reusable logic
    인라인 스크립트 형식을 사용하거나 특정 입력 및 사용 사례에 맞게 데이터를 수정합니다. 재사용 가능한 표준 입력 데이터 변환 및 형식화 작업의 경우, 대신 변환 함수를 선택하십시오.
    사용 가능한 변환 함수 검토
    플로우 디자이너 데이터 변환 및 서식 지정 작업을 위한 표준 변환 함수 목록을 제공합니다. 사용자 지정 스크립트 솔루션을 작성하고 유지관리하는 대신, 사용 가능한 경우 기존 변환 함수를 선택하십시오.
    인라인 스크립트에서 스크립트 포함 호출
    인라인 스크립트에서 스크립트 포함을 호출하여 작성하는 코드의 양을 줄이고 단일 위치에서 공통 코드를 유지 관리합니다. 클래스 생성자를 사용하여 스크립트 포함을 호출합니다. 스크립트 포함을 만드는 방법에 대한 자세한 내용은 을 참조하십시오 Script includes.
    var si = new MyScriptInclude();
    si.functionOne();
    인라인 스크립트가 아닌 재사용 가능한 코드에 대한 사용자 지정 작업 또는 하위 플로우 만들기
    원본 데이터의 데이터 유형 변경과 같은 재사용 가능하거나 복잡한 데이터 논리에 대한 사용자 지정 작업 또는 하위 플로우를 만듭니다. 코드에 익숙하지 않은 Flow Designer를 위해 사용자 지정 작업이나 하위 플로우를 제공할 수도 있습니다.
    작업 및 플로우 기능의 중복 방지
    작업 및 플로우 기능을 중복하는 인라인 스크립트를 작성하지 마십시오. 예를 들어, 인라인 스크립트를 작성하여 기록 작업을 수행하는 대신, 기록 기준선 생성 및 업데이트 작업을 사용합니다.
    데이터 유형 변경 방지
    인라인 스크립트가 입력 또는 출력에 필요한 것과 동일한 데이터 유형으로 정보를 제공하는지 확인하여 런타임 오류를 방지합니다.
    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 플로우 논리의 기록 데이터를 참조하십시오.
    범위 루프 카운터

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

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

    라이선싱 고려 사항

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

    코드 편집기

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

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

    편집 팁

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