동적 출력 시작하기

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기16분
  • 플로우에 사용할 동적 출력을 빌드하는 샘플 작업을 생성합니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    프로시저

    1. 동적 출력에 대한 연결 및 자격 증명 기록 생성
      이 연결 및 자격 증명 별칭은 데이터 수집 작업의 REST 단계를 구성하는 데 필요한 기본 URL과 사용자 계정을 제공합니다.
    2. 데이터 수집 작업을 만들어 기록 스키마 가져오기
      이 데이터 수집 작업은 단일 기록을 기록 동적 출력에 대한 JSON 객체로 변환합니다.
    3. 데이터 수집 작업을 생성하여 기록 스키마 배열 가져오기
      이 데이터 수집 작업은 기록 기록 목록을 기록 동적 출력에 대한 객체의 JSON 배열로 변환합니다.
    4. 동적 출력을 테스트하는 사용자 지정 작업 생성
      이 사용자 지정 작업은 두 가지 유형의 동적 출력 데이터를 보여줍니다. 하나의 동적 출력은 단일 기록에 대한 객체를 생성합니다. 또 다른 동적 출력은 기록 목록에 대한 객체 배열을 생성합니다.

    동적 출력에 대한 연결 및 자격 증명 기록 생성

    REST 단계에서 로컬 인스턴스에 연결하는 데 사용할 별칭, 연결 및 자격 증명을 생성합니다.

    시작하기 전에

    필요한 역할: 관리자

    프로시저

    1. 다음으로 이동 모두 > 연결 및 자격 증명 > 자격 증명.
    2. 새로 만들기를 선택하고 기본 인증 자격 증명을 선택한 후 다음 필드 값을 입력합니다.
      1. Name(이름)에 Local Admin을 입력합니다.
      2. 사용자 이름에 Flow Designer 및 REST API에 대한 액세스 권한이 있는 사용자 계정을 입력합니다.
        예를 들어 admin을( ) 입력합니다.
      3. 암호에 계정 암호를 입력합니다.
    3. 제출을 선택하여 자격 증명 기록을 생성합니다.
    4. 다음으로 이동 모두 > 연결 및 자격 증명 > 연결 및 자격 증명 별칭.
    5. 새로 만들기를 선택하고 다음 필드 값을 입력합니다.
      1. 이름(Name)에 로컬 인스턴스(Local Instance)를 입력합니다.
      2. 연결 유형에 대해 기본값 HTTP를 적용합니다.
      3. 제출을 선택하여 연결 및 자격 증명 별칭 기록을 생성합니다.
    6. 생성한 별칭을 선택합니다.
      예를 들어 로컬 인스턴스를 선택합니다.
    7. 연결 관련 목록에서 새로 만들기를 선택하고 다음 필드 값을 입력합니다.
      1. 이름(Name)에 내 인스턴스(My Instance)를 입력합니다.
      2. 자격 증명의 경우 생성한 기본 인증 자격 증명 기록을 선택합니다.
        예를 들어 로컬 관리자 자격 증명을 선택합니다.
      3. 연결 URL에 끝에 슬래시를 포함하여 인스턴스의 기본 URL을 입력합니다.
        URL 프리픽스 https:// 포함하고 URL 끝에 슬래시 문자를 추가합니다.
        예를 들면 https://example.service-now.com/입니다.
      4. 제출을 선택하여 HTTP 연결 기록을 작성합니다.

    데이터 수집 작업을 만들어 기록 스키마 가져오기

    데이터 수집 작업을 생성하여 테이블 스키마를 조회하고 JSON 객체로 변환합니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    이 태스크 정보

    이 작업에서는 인스턴스의 레코드에 대한 스키마를 수집하는 데이터 수집 작업을 생성합니다. 목표는 동적 출력으로 사용할 복합 객체를 만드는 것입니다. 이 데이터 수집 작업은 다음으로 구성됩니다.
    • 선택한 테이블에 대한 테이블 스키마 데이터를 수집하는 REST 단계입니다. REST 단계 응답 본문은 JSON 형식입니다.
    • REST 단계의 JSON 응답 본문을 동적 객체로 변환하는 스크립트 단계입니다. 동적 객체는 JSON 이름-값 쌍으로 구성되며, 테이블에 각 필드에 대한 항목이 있습니다.
    • 동적 객체를 저장하기 위한 JSON 형식의 output 이라는 출력 변수입니다.
    주:
    이 작업은 작업 시 설치되는 데모 작업을 다시 생성합니다. 요청 통합 허브 플러그인 인스턴스에 추가합니다.

    프로시저

    1. 다음으로 이동 모두 > 프로세스 자동화 > 워크플로우 스튜디오.
    2. 홈페이지에서 작업을 선택합니다.
    3. 새로 만들기를 선택하고 새 작업을 선택합니다.
      1. 작업 속성 화면의 이름 필드에 Get ServiceNow Object Schema (Dynamic)를 입력합니다.
      2. 제출을 선택합니다.
    4. 작업 개요에서 입력을 선택합니다.
      1. 작업 입력 헤더에서 입력 생성을 선택합니다.
      2. 레이블이름 필드에 테이블을 입력합니다.
      3. 유형 필드에서 문자열을 선택합니다.
      4. 이 입력을 필수로 설정하려면 필수 슬라이더를 활성 상태로 전환합니다.
    5. 작업 개요의 입력 아래에서 새 단계 추가 아이콘(새 단계 추가 아이콘)을 선택하고 REST 단계를 선택합니다.
    6. REST 단계 헤더 아래의 다음 필드를 채웁니다.
      필드
      연결 Use Connection Alias(연결 별칭 사용) 옵션을 선택된 상태로 둡니다.
      연결 별칭 새 기록 생성 아이콘( 새 기록 생성 아이콘)을 선택하여 새 HTTP 연결을 만들거나 인스턴스에 기존 연결을 사용합니다. HTTP 연결에 대한 자격 증명기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다. 연결 및 자격 증명에 대한 자세한 내용은 연결 시작하기자격 증명으로 시작하기를 참조하세요.
      빌드 요청 수동으로 옵션을 선택한 상태로 둡니다.
      자원 경로 api/now/processflow/table/을 입력한 다음 데이터 정제 선택기(데이터 정제 선택기)를 선택합니다. 선택 입력 > 테이블. 다음으로 /schema를 입력합니다.
      HTTP 메서드 GET을 입력합니다.
      쿼리 매개변수 더하기 아이콘( 더하기 아이콘을 선택하여 새 쿼리 매개변수를 추가합니다. 그런 다음 이름 필드에 get_choices 입력하고 필드에 true를 입력합니다.
    7. 작업 개요에서 REST 단계 아래에 있는 새 단계 추가 아이콘( 새 단계 추가 아이콘)을 선택하고 스크립트 단계를 선택합니다.
      1. 입력 변수 섹션에서 변수 생성을 선택합니다.
      2. 이름 필드에 payload를 입력합니다.
      3. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 REST(Representational State Transfer) 단계 > 응답 본문.
      4. 스크립트 필드에 다음 코드를 입력합니다.
        
        (function execute(inputs, outputs) {
          var payload = JSON.parse(inputs.payload);
          
          var columns = payload.result.data.columns;
          var schema = columns.map(function(column) {
            var value = {
              label: column.label,
              name: column.name,
              type: getCOType(column.definition.base_type),
            };
            if (column.definition.type === 'choice') {
              value.type = 'choice';
              value.choices = column.definition.choices;
            } 
            if (column.definition.base_type === 'GUID') {
              value.children = [
                { label: 'Link', name: 'link', type: 'string' },
                { label: 'Value', name: 'value', type: 'string' },
              ];
            }
            return value;
          });
          outputs.schema = { 
            data: {
              type: 'object',
              children: schema,
            },
          };
          
          function getCOType(type) {
            if (type === 'GUID') return 'reference';
            return type;
          }
        })(inputs, outputs);
      5. 출력 변수 섹션에서 변수 만들기를 선택합니다.
      6. 레이블이름 필드에 schema를 입력합니다.
      7. 유형 필드에서 JSON을 선택합니다.
    8. 작업 개요에서 출력을 선택합니다.
      1. 작업 출력 헤더에서 출력 생성을 선택합니다.
      2. 레이블이름 필드에 output을 입력합니다.
      3. 유형 필드에서 JSON을 선택합니다.
      4. 작업 출력 헤더에서 편집 모드 종료를 선택합니다.
      5. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 스크립트 단계 > 스키마.
    9. 작업 헤더에서 저장을 선택한 다음, 테스트를 선택하여 작업을 테스트합니다.
      1. 테스트 작업 화면에서 테이블 입력에 대해 incident를 입력합니다.
      2. 테스트 실행을 선택합니다.
      3. 작업의 실행 상세 정보를 확인합니다.
      필드의 런타임 값이 다음 축약된 예시와 유사한 형식의 복합 객체인 경우 데이터 수집 작업이 성공적으로 실행됩니다.
      {
             "data": {
                 "type": "object",
                 "children": [
                     {
                         "name": "active",
                         "label": "Active",
                         "type": "boolean"
                     },
                     {
                         "name": "activity_due",
                         "label": "Activity due",
                         "type": "datetime"
                     }, ...
    10. 작업 헤더에서 게시 를 선택하여 전역 범위 내의 다른 플로우 및 작업에서 작업을 사용할 수 있도록 Get ServiceNow Object Schema (Dynamic) 합니다.

    데이터 수집 작업을 생성하여 기록 스키마 배열 가져오기

    데이터 수집 작업을 생성하여 기록 목록에서 객체 배열을 생성합니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    이 태스크 정보

    이 작업에서는 인스턴스의 레코드에 대한 스키마를 수집하는 데이터 수집 작업을 생성합니다. 목표는 동적 출력으로 사용할 복합 객체를 만드는 것입니다. 이 데이터 수집 작업은 다음으로 구성됩니다.
    • 선택한 테이블에 대한 테이블 스키마 데이터를 수집하는 REST 단계입니다. REST 단계 응답 본문은 JSON 형식입니다.
    • REST 단계의 JSON 응답 본문을 동적 객체로 변환하는 스크립트 단계입니다. 동적 객체는 객체의 JSON 배열로 구성되며, 여기서 각 소스 기록은 배열의 한 객체로 변환됩니다.
    • 동적 객체를 저장하기 위한 JSON 형식의 output 이라는 출력 변수입니다.
    주:
    이 작업은 작업 시 설치되는 데모 작업을 다시 생성합니다. 요청 통합 허브 플러그인 인스턴스에 추가합니다.

    프로시저

    1. 다음으로 이동 모두 > 프로세스 자동화 > 워크플로우 스튜디오.
    2. 홈페이지에서 작업을 선택합니다.
    3. 새로 만들기를 선택하고 새 작업을 선택합니다.
      1. 작업 속성 화면의 이름 필드에 Get ServiceNow Array.Object Schema (Dynamic)를 입력합니다.
      2. 제출을 선택합니다.
    4. 작업 개요에서 입력을 선택합니다.
      1. 작업 입력 헤더에서 입력 생성을 선택합니다.
      2. 레이블이름 필드에 테이블을 입력합니다.
      3. 유형 필드에서 문자열을 선택합니다.
      4. 입력을 필수로 만들려면 필수 슬라이더를 활성 상태로 전환합니다.
    5. 작업 개요에서 입력 아래의 새 단계 추가 아이콘( 새 단계 아이콘)을 선택하고 REST 단계를 선택합니다.
    6. REST 단계 헤더 아래의 다음 필드를 채웁니다.
      필드
      연결 Use Connection Alias(연결 별칭 사용)를 선택된 상태로 둡니다.
      연결 별칭 새 기록 생성 아이콘( 새 기록 생성 아이콘)을 선택하여 새 HTTP 연결을 만들거나 인스턴스에 기존 연결을 사용합니다. HTTP 연결에 대한 자격 증명기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다.
      빌드 요청 수동으로 선택한 상태로 둡니다.
      자원 경로 api/now/processflow/table/을 입력한 다음 데이터 정제 선택기(데이터 정제 선택기)를 선택합니다. 선택 입력 > 테이블. 마지막으로 /schema를 입력합니다.
      HTTP 메서드 GET을 입력합니다.
      쿼리 매개변수 더하기 아이콘( 더하기 아이콘을 선택하여 새 쿼리 매개변수를 추가합니다. 그런 다음 이름 필드에 get_choices 입력하고 필드에 true를 입력합니다.
    7. 작업 개요에서 REST 단계 아래의 새 단계 추가( 새 단계 아이콘) 아이콘을 선택하고 스크립트 단계를 선택합니다.
      1. 입력 변수 섹션에서 변수 생성을 선택합니다.
      2. 이름 필드에 payload를 입력합니다.
      3. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 REST(Representational State Transfer) 단계 > 응답 본문.
      4. 스크립트 필드에 다음 코드를 입력합니다.
        
        (function execute(inputs, outputs) {
          var payload = JSON.parse(inputs.payload);
          
          var columns = payload.result.data.columns;
          var schema = columns.map(function(column) {
            var value = {
              label: column.label,
              name: column.name,
              type: getCOType(column.definition.base_type),
            };
            if (column.definition.type === 'choice') {
              value.type = 'choice';
              value.choices = column.definition.choices;
            }
            return value;
          });
          outputs.schema = { 
            data: {
              type: 'array.object',
              attributes: {
                child_type: 'object',
              },
              children: schema,
            },
          };
          
          function getCOType(type) {
            if (type === 'GUID') return 'string';
            return type;
          }
        })(inputs, outputs);
      5. 출력 변수 섹션에서 변수 만들기를 선택합니다.
      6. 레이블이름 필드에 schema를 입력합니다.
      7. 유형 필드에서 JSON을 선택합니다.
    8. 작업 개요에서 출력을 선택합니다.
      1. 작업 출력 헤더에서 출력 생성을 선택합니다.
      2. 레이블 필드 및 이름 필드에 출력을 입력합니다.
      3. 유형 필드에 대해 JSON을 선택합니다.
      4. 편집 모드 종료를 선택합니다.
      5. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 스크립트 단계 > 스키마.
    9. 작업 헤더에서 저장을 선택한 다음, 테스트를 선택하여 작업을 테스트합니다.
      1. 테스트 작업 화면의 테이블 필드에 incident를 입력합니다.
      2. 테스트 실행을 선택합니다.
      3. 작업의 실행 상세 정보를 확인합니다.
        필드 출력의 런타임 값이 다음 축약된 예와 같이 레이블, 이름값에 대한 키-값 쌍의 배열을 포함하는 복합 객체인 경우 데이터 수집 작업이 성공적으로 실행됩니다.
        {
               "data": {
                   "type": "array.object",
                   "children": [
                       {
                           "name": "active",
                           "label": "Active",
                           "type": "boolean"
                       },
                       {
                           "name": "activity_due",
                           "label": "Activity due",
                           "type": "datetime"
                       }, ...
        
    10. 작업 헤더에서 게시 를 선택하여 전역 범위 내의 다른 작업에서 작업을 사용할 수 있도록 합니다 Get ServiceNow Array.Object Schema (Dynamic) .

    동적 출력을 테스트하는 사용자 지정 작업 생성

    샘플 작업을 작성하여 테이블 입력 값이 변경되면 동적으로 새로 고침되는 기록기록이라는 두 가지 작업 출력을 동적으로 생성합니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    이 태스크 정보

    이 사용자 지정 작업은 두 가지 데이터 수집 작업을 사용하여 동적 출력을 채웁니다.

    프로시저

    1. 메인 헤더에서 플로우, 하위 플로우 생성 또는 작업 아이콘( 플로우, 하위 플로우 또는 작업 생성 아이콘)을 선택하고 작업을 선택합니다.
      1. 작업 속성 모달의 이름 필드에 Get ServiceNow Records (Dynamic)를 입력합니다.
      2. 제출을 선택합니다.
    2. 작업 개요에서 입력을 선택합니다.
      1. 작업 입력 헤더에서 입력 생성을 선택합니다.
      2. 레이블이름 필드에 테이블을 입력합니다.
      3. 유형 필드에서 동적 선택을 선택합니다.
      4. 입력을 필수로 만들려면 필수 슬라이더를 활성 상태로 전환합니다.
      5. 고급 입력 전환 아이콘(고급 입력 전환 아이콘 )을 선택하여 테이블 입력에 대한 고급 옵션을 표시합니다.
      6. 기본값 필드에 incident를 입력합니다.
      7. 동적 옵션의 작업 필드에서 ServiceNow 테이블 - 동적 가져오기를 선택합니다.
      8. 입력 생성을 선택하여 다른 작업 입력을 생성합니다.
      9. 레이블이름 필드에 NumberOfRecords를 입력합니다.
      10. 유형 필드에서 정수를 선택합니다.
      11. 입력을 필수로 만들려면 필수 슬라이더를 활성 상태로 전환합니다.
      12. 고급 입력 전환 아이콘(고급 입력 전환 아이콘 )을 선택하여 테이블 입력에 대한 고급 옵션을 표시합니다.
      13. 기본값 필드에 3을 입력합니다.
    3. 작업 개요에서 입력 아래의 새 단계 추가 아이콘( 새 단계 아이콘)을 선택하고 REST 단계를 선택합니다.
    4. REST 단계 헤더 아래의 다음 필드를 채웁니다.
      필드
      연결 Use Connection Alias(연결 별칭 사용)를 선택된 상태로 둡니다.
      연결 별칭 새 기록 생성 아이콘(새 기록 생성 아이콘)을 선택하여 새 HTTP 연결을 생성하거나 인스턴스에 기존 연결을 사용합니다. HTTP 연결에 대한 자격 증명기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다.
      빌드 요청 수동으로 선택한 상태로 둠
      자원 경로 api/now/table/을 입력한 다음 데이터 알약 선택기(데이터 알약 선택기)를 선택합니다. 선택 입력 > 테이블.
      HTTP 메서드 GET을 입력합니다.
      쿼리 매개변수 더하기 아이콘(더 하기 아이콘 )을 선택하여 새 쿼리 매개변수를 추가합니다. 그런 다음 이름 필드에 sysparm_limit 입력합니다. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택한 다음 입력 > 기록 수.
    5. 작업 개요의 입력 아래에서 새 단계 추가 아이콘(새 단계 아이콘)을 선택하고 스크립트 단계를 선택합니다.
      1. 입력 변수 섹션에서 변수 생성을 선택합니다.
      2. 이름 필드에 payload를 입력합니다.
      3. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 REST(Representational State Transfer) 단계 > 응답 본문.
      4. 스크립트 필드에 다음 코드를 입력합니다.
        
        (function execute(inputs, outputs) {
          var response = JSON.parse(inputs.payload);
          var records = response.result;
          outputs.record = records[0];
          outputs.records = JSON.stringify(records);
        })(inputs, outputs);
      5. 출력 변수 섹션에서 변수 만들기를 선택합니다.
      6. 레이블이름 필드에 record를 입력합니다.
      7. 유형 필드에 대해 JSON을 선택합니다.
      8. 필수 슬라이더를 활성 상태로 전환합니다.
      9. 변수 생성을 선택하여 스크립트 단계에 대한 다른 출력 변수를 생성합니다.
      10. 레이블이름 필드에 records를 입력합니다.
      11. 유형 필드에서 JSON을 선택합니다.
      12. 입력을 필수로 만들려면 필수 슬라이더를 활성 상태로 전환합니다.
    6. 작업 개요에서 출력을 선택합니다.
      1. 작업 출력 헤더에서 출력 생성을 선택합니다.
      2. 레이블이름 필드에 Records를 입력합니다.
      3. 유형 필드에서 동적 객체를 선택합니다.
      4. 고급 입력 전환 아이콘(고급 입력 전환 아이콘 )을 선택하여 기록 출력에 대한 고급 옵션을 표시합니다.
      5. 동적 옵션에서 작업으로 ServiceNow Array.Object 스키마 가져오기(동적)선택합니다.
      6. 테이블 입력을 다른 입력에 종속시키려면 다른 입력에 종속(Depends-On Another Input ) 슬라이더를 전환하여 활성화합니다.
      7. 테이블e 필드에서 테이블을 선택합니다.
      8. 작업 출력 헤더에서 편집 모드 종료를 선택합니다.
      9. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 스크립트 단계 > 기록.
      10. 작업 출력 헤더에서 출력 편집 > 출력 작성 다른 작업 출력을 생성합니다.
      11. 레이블이름 필드에 Record를 입력합니다.
      12. 유형 필드에서 동적 객체를 선택합니다.
      13. 고급 입력 전환 아이콘( 고급 입력 전환 아이콘을 선택하여 기록 출력에 대한 고급 옵션을 표시합니다.
      14. 동적 옵션의 작업 필드에서 ServiceNow 개체 스키마 가져오기(동적)를 선택합니다.
      15. 테이블 입력을 다른 입력에 종속시키려면 다른 입력에 종속(Depends-On Another Input ) 슬라이더를 전환하여 활성화합니다.
      16. 테이블 필드에서 테이블을 선택합니다.
      17. 작업 출력 헤더에서 편집 모드 종료를 선택합니다.
      18. 값의 경우 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 스크립트 단계 > 기록.
    7. 작업 헤더에서 저장을 선택한 다음, 테스트를 선택하여 작업을 테스트합니다.
      1. 테스트 작업 화면에서 테이블 입력에 대해 동적으로 생성된 선택 값을 선택합니다.
      2. 테스트 실행을 선택합니다.
      3. 작업의 실행 상세 정보를 확인합니다.
        Record의 런타임 값이 올바른 형식의 복합 객체이고 Record의 런타임 값이 올바른 형식의 복합 객체 배열이면 작업이 성공적으로 실행됩니다.
    8. 작업 헤더에서 게시 를 선택하여 전역 범위 내의 플로우에 작업을 사용할 수 있도록 합니다 Get ServiceNow Records (Dynamic) .

    결과

    플로우에서 ServiceNow 기록 동적 샘플 작업 가져오기를 사용합니다.

    이제 플로우에 Get ServiceNow Records (Dynamic) 작업을 추가할 수 있습니다. 이 샘플 작업은 데이터 패널에서 데이터 알약으로 액세스할 수 있는 두 개의 작업 출력인 RecordRecords를 동적으로 생성합니다. 테이블 입력 값이 변경되면 데이터 알약이 동적으로 새로 고침됩니다.