동적 출력 시작하기

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기15분
  • 플로우에서 사용할 동적 객체를 작성하는 샘플 작업을 생성합니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    이 태스크 정보

    이 작업에서는 두 가지 데이터 수집 작업을 만듭니다. 하나는 인스턴스의 레코드에 대한 스키마를 수집하는 동작이고 다른 하나는 인스턴스의 동일한 테이블에 있는 여러 레코드에 대한 스키마를 수집하는 동작입니다. 목표는 동적 출력으로 사용할 복합 객체와 복합 객체 배열을 모두 만드는 것입니다. 각 데이터 수집 작업은 다음으로 구성됩니다.
    • 인스턴스에서 테이블 스키마 데이터를 수집하는 REST 단계입니다.
    • REST 단계의 응답 본문에서 페이로드를 구성하는 스크립트 단계입니다.
    • JSON 형식의 output 이라는 출력 변수입니다.
    이러한 데이터 수집 작업을 사용하여 두 개의 동적 개체를 빌드합니다. 그런 다음 플로우 설계 중에 데이터 수집 작업을 호출하는 사용자 지정 작업을 만듭니다.
    주:
    이 작업은 다음과 같은 경우 설치되는 데모 작업을 다시 만듭니다. 요청 Integration Hub 플러그인 인스턴스에.

    프로시저

    1. 다음으로 이동 모두 > 프로세스 자동화 > 플로우 디자이너레이블이 표시됩니다.
    2. New(새로 만들기)를 클릭하고 New Action(새 작업)을 선택합니다.
      1. 작업 속성 화면의 이름 필드에 Get ServiceNow Object Schema (Dynamic)를 입력합니다.
      2. 제출을 클릭합니다.
    3. Action Outline(작업 개요)에서 Inputs(입력)를 클릭합니다.
      1. Action Input(작업 입력) 헤더에서 Create Input(입력 생성)을 클릭합니다.
      2. Label( 레이블)Name(이름 ) 필드에 Table(테이블)을 입력합니다.
      3. 유형 필드에서 문자열을 선택합니다.
      4. 이 입력을 필수로 만들려면 필수 슬라이더를 전환하여 활성화시킵니다.
    4. 작업 개요의 입력에서 새 단계 추가 아이콘( 새 단계 추가 아이콘)을 클릭하고 REST 단계를 선택합니다.
    5. REST 단계 헤더 아래의 다음 필드를 채웁니다.
      필드
      연결 연결 별칭 사용 옵션을 선택된 상태로 둡니다.
      연결 별칭 새 기록 생성 아이콘( 새 기록 생성 아이콘)을 클릭하여 새 HTTP 연결을 생성하거나 인스턴스에 기존 연결을 사용합니다. HTTP 연결에 대한 자격 증명기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다. 연결 및 자격 증명에 대한 자세한 내용은 연결 시작자격 증명 시작하기를 참조하세요.
      빌드 요청 Manually( 수동) 옵션을 선택된 상태로 둡니다.
      자원 경로 api/now/processflow/table/ 을 입력한 다음 데이터 정제 선택기( Data pill picker)를 클릭합니다. 선택 입력 > 테이블레이블이 표시됩니다. 그런 다음 /schema를 입력합니다.
      HTTP 메서드 GET을 입력합니다.
      쿼리 매개변수 더하기 아이콘( 더하기 아이콘을 클릭하여 새 쿼리 매개변수를 추가합니다. 그런 다음 이름 필드에 get_choices를 입력하고 필드에 true를 입력합니다.
    6. 작업 개요에서 REST 단계 아래의 새 단계 추가 아이콘( 새 단계 추가 아이콘)을 클릭하고 스크립트 단계를 선택합니다.
      1. Input Variables(입력 변수) 섹션에서 Create Variable(변수 생성)을 클릭합니다.
      2. 이름 필드에 payload를 입력합니다.
      3. 필드 옆에 있는 데이터 정제 선택기( Data pill picker)를 클릭하고 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. Output Variables(출력 변수) 섹션에서 Create Variable(변수 생성)을 클릭합니다.
      6. Label and Name(레이블 및 이름) 필드에 schema를 입력합니다.
      7. 유형 필드에서 JSON을 선택합니다.
    7. Action Outline(작업 개요)에서 Outputs(출력)를 클릭합니다.
      1. Action Output(작업 출력) 헤더에서 Create Output(출력 생성)을 클릭합니다.
      2. Label( 레이블)Name(이름 ) 필드에 output을 입력합니다.
      3. 유형 필드에서 JSON을 선택합니다.
      4. Action Output(작업 출력) 헤더에서 Exit Edit Mode(편집 모드 종료)를 클릭합니다.
      5. 필드 옆에 있는 데이터 정제 선택기( Data pill picker)를 클릭하고 스크립트 단계 > schema레이블이 표시됩니다.
    8. Action(작업) 헤더에서 Save(저장 )를 클릭한 다음 Test(테스트) 를 클릭하여 작업을 테스트합니다.
      1. 테스트 작업 화면에서 테이블 입력에 인시던트를 입력합니다.
      2. 테스트 실행을 클릭합니다.
      3. 작업의 실행 상세 정보를 확인합니다.
      필드에 대한 런타임 값이 다음 축약된 예제와 유사한 형식의 복합 객체인 경우 데이터 수집 작업이 성공적으로 실행됩니다.
      {
             "data": {
                 "type": "object",
                 "children": [
                     {
                         "name": "active",
                         "label": "Active",
                         "type": "boolean"
                     },
                     {
                         "name": "activity_due",
                         "label": "Activity due",
                         "type": "datetime"
                     }, ...
    9. Action(작업) 헤더에서 Publish(게시 )를 클릭하여 전역 범위 내의 다른 플로우 및 작업에서 작업을 사용할 수 있도록 합니다 Get ServiceNow Object Schema (Dynamic) .

    ServiceNow Array.Object 스키마 가져오기(동적) 작업 작성

    샘플 데이터 수집 작업을 만들어 개체 배열을 생성합니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    프로시저

    1. 메인 헤더에서 플로우 생성, 하위 플로우 또는 작업 아이콘(플로우 생성, 하위 플로우 또는 작업 아이콘)을 클릭하고 작업을 선택합니다.
      1. 작업 속성 화면의 이름 필드에 Get ServiceNow Array.Object 스키마(동적)를 입력합니다.
      2. 제출을 클릭합니다.
    2. Action Outline(작업 개요)에서 Inputs(입력)를 클릭합니다.
      1. Action Input(작업 입력) 헤더에서 Create Input(입력 생성)을 클릭합니다.
      2. Label( 레이블)Name(이름 ) 필드에 Table(테이블)을 입력합니다.
      3. 유형 필드에서 문자열을 선택합니다.
      4. 입력이 필요하도록 하려면 필수 슬라이더를 전환하여 활성화합니다.
    3. 작업 개요에서 입력 아래의 새 단계 추가 아이콘( 새 단계 아이콘)을 클릭하고 REST 단계를 선택합니다.
    4. REST 단계 헤더 아래의 다음 필드를 채웁니다.
      필드
      연결 연결 별칭 사용을 선택한 상태로 둡니다.
      연결 별칭 새 기록 생성 아이콘( 새 기록 생성 아이콘)을 클릭하여 새 HTTP 연결을 생성하거나 인스턴스에 기존 연결을 사용합니다. HTTP 연결에 대한 자격 증명기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다.
      빌드 요청 Manual(수동)을 선택한 상태로 둡니다.
      자원 경로 api/now/processflow/table/ 을 입력한 다음 데이터 정제 선택기( Data pill picker)를 클릭합니다. 선택 입력 > 테이블레이블이 표시됩니다. 마지막으로 /schema를 입력합니다
      HTTP 메서드 GET을 입력합니다.
      쿼리 매개변수 더하기 아이콘( 더하기 아이콘을 클릭하여 새 쿼리 매개변수를 추가합니다. 그런 다음 이름 필드에 get_choices를 입력하고 필드에 true를 입력합니다.
    5. 작업 개요에서 REST 단계 아래의 새 단계 추가( 새 단계 아이콘) 아이콘을 클릭하고 스크립트 단계를 선택합니다.
      1. Input Variables(입력 변수) 섹션에서 Create Variable(변수 생성)을 클릭합니다.
      2. 이름 필드에 payload를 입력합니다.
      3. 필드 옆에 있는 데이터 정제 선택기( Data pill picker)를 클릭하고 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. Output Variables(출력 변수) 섹션에서 Create Variable(변수 생성)을 클릭합니다.
      6. Label and Name(레이블 및 이름) 필드에 schema를 입력합니다.
      7. 유형 필드에서 JSON을 선택합니다.
    6. Action Outline(작업 개요)에서 Outputs(출력)를 클릭합니다.
      1. Action Output(작업 출력) 헤더에서 Create Output(출력 생성)을 클릭합니다.
      2. Label 필드 및 Name 필드에 출력을 입력합니다.
      3. 유형 필드에 대해 JSON을 선택합니다.
      4. 편집 모드 종료를 클릭합니다.
      5. 필드 옆에 있는 데이터 정제 선택기( Data pill picker)를 클릭하고 스크립트 단계 > schema레이블이 표시됩니다.
    7. Action(작업) 헤더에서 Save(저장 )를 클릭한 다음 Test(테스트) 를 클릭하여 작업을 테스트합니다.
      1. 테스트 작업 화면의 테이블 필드에 incident를 입력합니다.
      2. 테스트 실행을 클릭합니다.
      3. 작업의 실행 상세 정보를 확인합니다.
        다음 축약된 예제와 같이 필드 출력에 대한 런타임 값이 레이블, 이름 에 대한 키-값 쌍의 배열을 포함하는 복합 객체인 경우 데이터 수집 작업이 성공적으로 실행됩니다.
        {
               "data": {
                   "type": "array.object",
                   "children": [
                       {
                           "name": "active",
                           "label": "Active",
                           "type": "boolean"
                       },
                       {
                           "name": "activity_due",
                           "label": "Activity due",
                           "type": "datetime"
                       }, ...
        
    8. Action(작업) 헤더에서 Publish(게시 )를 클릭하여 전역 범위 내의 다른 작업에서 작업을 사용할 수 있도록 합니다 Get ServiceNow Array.Object Schema (Dynamic) .

    ServiceNow 기록 가져오기(동적) 작업 생성

    샘플 작업을 생성하여 테이블 입력 값이 변경될 때 동적으로 새로 고침되는 두 개의 작업 출력, 기록기록을 동적으로 생성합니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    프로시저

    1. 메인 헤더에서 플로우 생성, 하위 플로우 또는 작업 아이콘(플로우 생성, 하위 플로우 또는 작업 아이콘)을 클릭하고 작업을 선택합니다.
      1. 작업 속성 모달의 이름 필드에 ServiceNow 기록 가져오기(동적)를 입력합니다.
      2. 제출을 클릭합니다.
    2. Action Outline(작업 개요)에서 Inputs(입력)를 클릭합니다.
      1. Action Input(작업 입력) 헤더에서 Create Input(입력 생성)을 클릭합니다.
      2. Label( 레이블)Name(이름 ) 필드에 Table(테이블)을 입력합니다.
      3. Type( 유형 ) 필드에서 Dynamic Choice(동적 선택)를 선택합니다.
      4. 입력이 필요하도록 하려면 필수 슬라이더를 전환하여 활성화합니다.
      5. 고급 입력 전환 아이콘( 고급 입력 전환 아이콘을 클릭하여 테이블 입력에 대한 고급 옵션을 표시합니다.
      6. 기본값 필드에 incident를 입력합니다.
      7. 동적 옵션의 작업 필드에서 ServiceNow 테이블 가져오기 - 동적을 선택합니다.
      8. 입력 생성을 클릭하여 다른 작업 입력을 생성합니다.
      9. 레이블이름 필드에 NumberOfRecords를 입력합니다.
      10. Type( 유형 ) 필드에서 Integer(정수)를 선택합니다.
      11. 입력이 필요하도록 하려면 필수 슬라이더를 전환하여 활성화합니다.
      12. 고급 입력 전환 아이콘( 고급 입력 전환 아이콘을 클릭하여 테이블 입력에 대한 고급 옵션을 표시합니다.
      13. 기본값 필드에 3을 입력합니다.
    3. 작업 개요에서 입력 아래의 새 단계 추가 아이콘( 새 단계 아이콘)을 클릭하고 REST 단계를 선택합니다.
    4. REST 단계 헤더 아래의 다음 필드를 채웁니다.
      필드
      연결 연결 별칭 사용을 선택한 상태로 둡니다.
      연결 별칭 새 기록 생성 아이콘( 새 기록 생성 아이콘)을 클릭하여 새 HTTP 연결을 생성하거나 인스턴스에 기존 연결을 사용합니다. HTTP 연결에 대한 자격 증명기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다.
      빌드 요청 수동으로 선택한 항목 유지
      자원 경로 api/now/table/을 입력한 다음 데이터 정제 선택기( Data pill picker)를 클릭합니다. 선택 입력 > 테이블레이블이 표시됩니다.
      HTTP 메서드 GET을 입력합니다.
      쿼리 매개변수 더하기 아이콘( 더하기 아이콘을 클릭하여 새 쿼리 매개변수를 추가합니다. 그런 다음 이름 필드에 sysparm_limit 입력합니다. 필드 옆에 있는 데이터 정제 선택기( Data pill picker)를 클릭한 다음 입력 > 기록 수레이블이 표시됩니다.
    5. 작업 개요에서 입력 아래의 새 단계 추가 아이콘( 새 단계 아이콘)을 클릭하고 스크립트 단계를 선택합니다.
      1. Input Variables(입력 변수) 섹션에서 Create Variable(변수 생성)을 클릭합니다.
      2. 이름 필드에 payload를 입력합니다.
      3. 필드 옆에 있는 데이터 정제 선택기( Data pill picker)를 클릭하고 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. Output Variables(출력 변수) 섹션에서 Create Variable(변수 생성)을 클릭합니다.
      6. 레이블이름 필드에 record를 입력합니다.
      7. 유형 필드에 대해 JSON을 선택합니다.
      8. 필수 슬라이더를 전환하여 활성화합니다.
      9. 변수 생성을 클릭하여 스크립트 단계에 대한 다른 출력 변수를 생성합니다.
      10. Label( 레이블 ) 및 Name(이름 ) 필드에 records(기록)를 입력합니다.
      11. 유형 필드에서 JSON을 선택합니다.
      12. 입력이 필요하도록 하려면 필수 슬라이더를 전환하여 활성화합니다.
    6. Action Outline(작업 개요)에서 Outputs(출력)를 클릭합니다.
      1. Action Output(작업 출력) 헤더에서 Create Output(출력 생성)을 클릭합니다.
      2. Label( 레이블 ) 및 Name(이름 ) 필드에 Records(기록)를 입력합니다.
      3. Type( 유형 ) 필드에서 Dynamic Object(동적 개체)를 선택합니다.
      4. 고급 입력 전환 아이콘( 고급 입력 전환 아이콘을 클릭하여 기록 출력에 대한 고급 옵션을 표시합니다.
      5. 동적 옵션에서 ServiceNow Array.Object 스키마(동적) 가져오기를작업으로 선택합니다.
      6. 테이블 입력이 다른 입력에 종속되도록 하려면 다른 입력에 종속 슬라이더를 전환하여 활성화합니다.
      7. 테이블e 필드에서 테이블을 선택합니다.
      8. Action Output(작업 출력) 헤더에서 Exit Edit Mode(편집 모드 종료)를 클릭합니다.
      9. 필드 옆에 있는 데이터 정제 선택기( Data pill picker)를 클릭하고 스크립트 단계 > 기록레이블이 표시됩니다.
      10. Action Output(작업 출력) 헤더에서 출력 편집 > 출력 작성 을 클릭하여 다른 작업 출력을 생성합니다.
      11. Label( 레이블 ) 및 Name(이름 ) 필드에 Record(기록)를 입력합니다.
      12. Type( 유형 ) 필드에서 Dynamic Object(동적 개체)를 선택합니다.
      13. 고급 입력 전환 아이콘( 고급 입력 전환 아이콘을 클릭하여 기록 출력에 대한 고급 옵션을 표시합니다.
      14. 동적 옵션의 작업 필드에서 ServiceNow 개체 스키마 가져오기(동적)를 선택합니다.
      15. 테이블 입력이 다른 입력에 종속되도록 하려면 다른 입력에 종속 슬라이더를 전환하여 활성화합니다.
      16. 테이블 필드에서 테이블을 선택합니다.
      17. Action Output(작업 출력) 헤더에서 Exit Edit Mode(편집 모드 종료)를 클릭합니다.
      18. 에 대해 데이터 정제 선택기( Data pill picker)를 클릭하고 선택합니다. 스크립트 단계 > 기록레이블이 표시됩니다.
    7. Action(작업) 헤더에서 Save(저장 )를 클릭한 다음 Test(테스트) 를 클릭하여 작업을 테스트합니다.
      1. 테스트 작업 화면에서 테이블 입력에 대해 동적으로 생성된 선택 값을 선택합니다.
      2. 테스트 실행을 클릭합니다.
      3. 작업의 실행 상세 정보를 확인합니다.
        Record의 런타임 값이 올바른 형식의 복합 객체이고 Records의 런타임 값이 올바른 형식의 복합 객체 배열인 경우 작업이 성공적으로 실행됩니다.
    8. 작업 헤더에서 게시 를 클릭하여 전역 범위 내의 플로우에서 Get ServiceNow Records (Dynamic) 작업을 사용할 수 있도록 합니다.

    결과

    이제 에서 플로우플로우 디자이너에 작업을 추가할 Get ServiceNow Records (Dynamic) 수 있습니다. 이 샘플 작업은 데이터 패널에서 데이터 알약으로 액세스할 수 있는 기록기록이라는 두 가지 작업 출력을 동적으로 생성합니다. 테이블 입력의 값이 변경되면 데이터 알약이 동적으로 새로 고침됩니다.플로우에서 ServiceNow 기록 가져오기(동적) 샘플 작업을 사용합니다.