동적 출력 시작하기
플로우에 사용할 동적 출력을 빌드하는 샘플 작업을 생성합니다.
시작하기 전에
프로시저
-
동적 출력에 대한 연결 및 자격 증명 기록 생성
이 연결 및 자격 증명 별칭은 데이터 수집 작업의 REST 단계를 구성하는 데 필요한 기본 URL과 사용자 계정을 제공합니다.
-
데이터 수집 작업을 만들어 기록 스키마 가져오기
이 데이터 수집 작업은 단일 기록을 기록 동적 출력에 대한 JSON 객체로 변환합니다.
-
데이터 수집 작업을 생성하여 기록 스키마 배열 가져오기
이 데이터 수집 작업은 기록 기록 목록을 기록 동적 출력에 대한 객체의 JSON 배열로 변환합니다.
-
동적 출력을 테스트하는 사용자 지정 작업 생성
이 사용자 지정 작업은 두 가지 유형의 동적 출력 데이터를 보여줍니다. 하나의 동적 출력은 단일 기록에 대한 객체를 생성합니다. 또 다른 동적 출력은 기록 목록에 대한 객체 배열을 생성합니다.
동적 출력에 대한 연결 및 자격 증명 기록 생성
REST 단계에서 로컬 인스턴스에 연결하는 데 사용할 별칭, 연결 및 자격 증명을 생성합니다.
시작하기 전에
필요한 역할: 관리자
프로시저
- 다음으로 이동 모두 > 연결 및 자격 증명 > 자격 증명.
-
새로 만들기를 선택하고 기본 인증 자격 증명을 선택한 후 다음 필드 값을 입력합니다.
- Name(이름)에 Local Admin을 입력합니다.
-
사용자 이름에 Flow Designer 및 REST API에 대한 액세스 권한이 있는 사용자 계정을 입력합니다.
예를 들어 admin을( 를) 입력합니다.
- 암호에 계정 암호를 입력합니다.
- 제출을 선택하여 자격 증명 기록을 생성합니다.
- 다음으로 이동 모두 > 연결 및 자격 증명 > 연결 및 자격 증명 별칭.
-
새로 만들기를 선택하고 다음 필드 값을 입력합니다.
- 이름(Name)에 로컬 인스턴스(Local Instance)를 입력합니다.
- 연결 유형에 대해 기본값 HTTP를 적용합니다.
- 제출을 선택하여 연결 및 자격 증명 별칭 기록을 생성합니다.
-
생성한 별칭을 선택합니다.
예를 들어 로컬 인스턴스를 선택합니다.
-
연결 관련 목록에서 새로 만들기를 선택하고 다음 필드 값을 입력합니다.
- 이름(Name)에 내 인스턴스(My Instance)를 입력합니다.
-
자격 증명의 경우 생성한 기본 인증 자격 증명 기록을 선택합니다.
예를 들어 로컬 관리자 자격 증명을 선택합니다.
-
연결 URL에 끝에 슬래시를 포함하여 인스턴스의 기본 URL을 입력합니다.
URL 프리픽스 https:// 포함하고 URL 끝에 슬래시 문자를 추가합니다.예를 들면 https://example.service-now.com/입니다.
- 제출을 선택하여 HTTP 연결 기록을 작성합니다.
데이터 수집 작업을 만들어 기록 스키마 가져오기
데이터 수집 작업을 생성하여 테이블 스키마를 조회하고 JSON 객체로 변환합니다.
시작하기 전에
이 태스크 정보
- 선택한 테이블에 대한 테이블 스키마 데이터를 수집하는 REST 단계입니다. REST 단계 응답 본문은 JSON 형식입니다.
- REST 단계의 JSON 응답 본문을 동적 객체로 변환하는 스크립트 단계입니다. 동적 객체는 JSON 이름-값 쌍으로 구성되며, 테이블에 각 필드에 대한 항목이 있습니다.
- 동적 객체를 저장하기 위한
JSON 형식의 output이라는 출력 변수입니다.
주:
이 작업은 작업 시 설치되는 데모 작업을 다시 생성합니다. 요청 통합 허브 플러그인 인스턴스에 추가합니다.
프로시저
- 다음으로 이동 모두 > 프로세스 자동화 > 워크플로우 스튜디오.
- 홈페이지에서 작업을 선택합니다.
-
새로 만들기를 선택하고 새 작업을 선택합니다.
- 작업 속성 화면의 이름 필드에 Get ServiceNow Object Schema (Dynamic)를 입력합니다.
- 제출을 선택합니다.
-
작업 개요에서 입력을 선택합니다.
- 작업 입력 헤더에서 입력 생성을 선택합니다.
- 레이블 및 이름 필드에 테이블을 입력합니다.
- 유형 필드에서 문자열을 선택합니다.
- 이 입력을 필수로 설정하려면 필수 슬라이더를 활성 상태로 전환합니다.
-
작업 개요의 입력 아래에서 새 단계 추가 아이콘(새
)을 선택하고 REST 단계를 선택합니다.
-
REST 단계 헤더 아래의 다음 필드를 채웁니다.
필드 값 연결 Use Connection Alias(연결 별칭 사용) 옵션을 선택된 상태로 둡니다. 연결 별칭 새 기록 생성 아이콘( )을 선택하여 새 HTTP 연결을 만들거나 인스턴스에 기존 연결을 사용합니다. HTTP 연결에 대한 자격 증명 은 기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다. 연결 및 자격 증명에 대한 자세한 내용은 연결 시작하기 및 자격 증명으로 시작하기를 참조하세요.
빌드 요청 수동으로 옵션을 선택한 상태로 둡니다. 자원 경로 api/now/processflow/table/을 입력한 다음 데이터 정제 선택기( )를 선택합니다. 선택 입력 > 테이블. 다음으로 /schema를 입력합니다.
HTTP 메서드 GET을 입력합니다. 쿼리 매개변수 더하기 아이콘( 선택하여 새 쿼리 매개변수를 추가합니다. 그런 다음 이름 필드에 get_choices 입력하고 값 필드에 true를 입력합니다.
-
작업 개요에서 REST 단계 아래에 있는 새 단계 추가 아이콘(
)을 선택하고 스크립트 단계를 선택합니다.
- 입력 변수 섹션에서 변수 생성을 선택합니다.
- 이름 필드에 payload를 입력합니다.
-
값 필드 옆에 있는 데이터 알약 선택기(
)를 선택하고 REST(Representational State Transfer) 단계 > 응답 본문.
-
스크립트 필드에 다음 코드를 입력합니다.
(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); - 출력 변수 섹션에서 변수 만들기를 선택합니다.
- 레이블 및 이름 필드에 schema를 입력합니다.
- 유형 필드에서 JSON을 선택합니다.
-
작업 개요에서 출력을 선택합니다.
- 작업 출력 헤더에서 출력 생성을 선택합니다.
- 레이블 및 이름 필드에 output을 입력합니다.
- 유형 필드에서 JSON을 선택합니다.
- 작업 출력 헤더에서 편집 모드 종료를 선택합니다.
-
값 필드 옆에 있는 데이터 알약 선택기(
)를 선택하고 스크립트 단계 > 스키마.
-
작업 헤더에서 저장을 선택한 다음, 테스트를 선택하여 작업을 테스트합니다.
- 테스트 작업 화면에서 테이블 입력에 대해 incident를 입력합니다.
- 테스트 실행을 선택합니다.
- 작업의 실행 상세 정보를 확인합니다.
필드의런타임 값이 다음 축약된 예시와 유사한 형식의 복합 객체인 경우 데이터 수집 작업이 성공적으로 실행됩니다.{ "data": { "type": "object", "children": [ { "name": "active", "label": "Active", "type": "boolean" }, { "name": "activity_due", "label": "Activity due", "type": "datetime" }, ... - 작업 헤더에서 게시 를 선택하여 전역 범위 내의 다른 플로우 및 작업에서 작업을 사용할 수 있도록 Get ServiceNow Object Schema (Dynamic) 합니다.
데이터 수집 작업을 생성하여 기록 스키마 배열 가져오기
데이터 수집 작업을 생성하여 기록 목록에서 객체 배열을 생성합니다.
시작하기 전에
이 태스크 정보
- 선택한 테이블에 대한 테이블 스키마 데이터를 수집하는 REST 단계입니다. REST 단계 응답 본문은 JSON 형식입니다.
- REST 단계의 JSON 응답 본문을 동적 객체로 변환하는 스크립트 단계입니다. 동적 객체는 객체의 JSON 배열로 구성되며, 여기서 각 소스 기록은 배열의 한 객체로 변환됩니다.
- 동적 객체를 저장하기 위한
JSON 형식의 output이라는 출력 변수입니다.
주:
이 작업은 작업 시 설치되는 데모 작업을 다시 생성합니다. 요청 통합 허브 플러그인 인스턴스에 추가합니다.
프로시저
- 다음으로 이동 모두 > 프로세스 자동화 > 워크플로우 스튜디오.
- 홈페이지에서 작업을 선택합니다.
-
새로 만들기를 선택하고 새 작업을 선택합니다.
- 작업 속성 화면의 이름 필드에 Get ServiceNow Array.Object Schema (Dynamic)를 입력합니다.
- 제출을 선택합니다.
-
작업 개요에서 입력을 선택합니다.
- 작업 입력 헤더에서 입력 생성을 선택합니다.
- 레이블 및 이름 필드에 테이블을 입력합니다.
- 유형 필드에서 문자열을 선택합니다.
- 입력을 필수로 만들려면 필수 슬라이더를 활성 상태로 전환합니다.
-
작업 개요에서 입력 아래의 새 단계 추가 아이콘(
)을 선택하고 REST 단계를 선택합니다.
-
REST 단계 헤더 아래의 다음 필드를 채웁니다.
필드 값 연결 Use Connection Alias(연결 별칭 사용)를 선택된 상태로 둡니다. 연결 별칭 새 기록 생성 아이콘( )을 선택하여 새 HTTP 연결을 만들거나 인스턴스에 기존 연결을 사용합니다. HTTP 연결에 대한 자격 증명 은 기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다.
빌드 요청 수동으로 선택한 상태로 둡니다. 자원 경로 api/now/processflow/table/을 입력한 다음 데이터 정제 선택기( )를 선택합니다. 선택 입력 > 테이블. 마지막으로 /schema를 입력합니다.
HTTP 메서드 GET을 입력합니다. 쿼리 매개변수 더하기 아이콘( 선택하여 새 쿼리 매개변수를 추가합니다. 그런 다음 이름 필드에 get_choices 입력하고 값 필드에 true를 입력합니다.
-
작업 개요에서 REST 단계 아래의 새 단계 추가(
) 아이콘을 선택하고 스크립트 단계를 선택합니다.
- 입력 변수 섹션에서 변수 생성을 선택합니다.
- 이름 필드에 payload를 입력합니다.
-
값 필드 옆에 있는 데이터 알약 선택기(
)를 선택하고 REST(Representational State Transfer) 단계 > 응답 본문.
-
스크립트 필드에 다음 코드를 입력합니다.
(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); - 출력 변수 섹션에서 변수 만들기를 선택합니다.
- 레이블 및 이름 필드에 schema를 입력합니다.
- 유형 필드에서 JSON을 선택합니다.
-
작업 개요에서 출력을 선택합니다.
- 작업 출력 헤더에서 출력 생성을 선택합니다.
- 레이블 필드 및 이름 필드에 출력을 입력합니다.
- 유형 필드에 대해 JSON을 선택합니다.
- 편집 모드 종료를 선택합니다.
-
값 필드 옆에 있는 데이터 알약 선택기(
)를 선택하고 스크립트 단계 > 스키마.
-
작업 헤더에서 저장을 선택한 다음, 테스트를 선택하여 작업을 테스트합니다.
- 테스트 작업 화면의 테이블 필드에 incident를 입력합니다.
- 테스트 실행을 선택합니다.
-
작업의 실행 상세 정보를 확인합니다.
필드
출력의런타임 값이 다음 축약된 예와 같이레이블,이름및값에대한 키-값 쌍의 배열을 포함하는 복합 객체인 경우 데이터 수집 작업이 성공적으로 실행됩니다.{ "data": { "type": "array.object", "children": [ { "name": "active", "label": "Active", "type": "boolean" }, { "name": "activity_due", "label": "Activity due", "type": "datetime" }, ...
- 작업 헤더에서 게시 를 선택하여 전역 범위 내의 다른 작업에서 작업을 사용할 수 있도록 합니다 Get ServiceNow Array.Object Schema (Dynamic) .
동적 출력을 테스트하는 사용자 지정 작업 생성
샘플 작업을 작성하여 테이블 입력 값이 변경되면 동적으로 새로 고침되는 기록과 기록이라는 두 가지 작업 출력을 동적으로 생성합니다.
시작하기 전에
이 태스크 정보
이 사용자 지정 작업은 두 가지 데이터 수집 작업을 사용하여 동적 출력을 채웁니다.
프로시저
-
메인 헤더에서 플로우, 하위 플로우 생성 또는 작업 아이콘(
)을 선택하고 작업을 선택합니다.
- 작업 속성 모달의 이름 필드에 Get ServiceNow Records (Dynamic)를 입력합니다.
- 제출을 선택합니다.
-
작업 개요에서 입력을 선택합니다.
- 작업 입력 헤더에서 입력 생성을 선택합니다.
- 레이블 및 이름 필드에 테이블을 입력합니다.
- 유형 필드에서 동적 선택을 선택합니다.
- 입력을 필수로 만들려면 필수 슬라이더를 활성 상태로 전환합니다.
-
고급 입력 전환 아이콘(고급
)을 선택하여
테이블입력에 대한 고급 옵션을 표시합니다. - 기본값 필드에 incident를 입력합니다.
- 동적 옵션의 작업 필드에서 ServiceNow 테이블 - 동적 가져오기를 선택합니다.
- 입력 생성을 선택하여 다른 작업 입력을 생성합니다.
- 레이블 및 이름 필드에 NumberOfRecords를 입력합니다.
- 유형 필드에서 정수를 선택합니다.
- 입력을 필수로 만들려면 필수 슬라이더를 활성 상태로 전환합니다.
-
고급 입력 전환 아이콘(고급
)을 선택하여
테이블입력에 대한 고급 옵션을 표시합니다. - 기본값 필드에 3을 입력합니다.
-
작업 개요에서 입력 아래의 새 단계 추가 아이콘(
)을 선택하고 REST 단계를 선택합니다.
-
REST 단계 헤더 아래의 다음 필드를 채웁니다.
필드 값 연결 Use Connection Alias(연결 별칭 사용)를 선택된 상태로 둡니다. 연결 별칭 새 기록 생성 아이콘(새 )을 선택하여 새 HTTP 연결을 생성하거나 인스턴스에 기존 연결을 사용합니다. HTTP 연결에 대한 자격 증명 은 기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다.
빌드 요청 수동으로 선택한 상태로 둠 자원 경로 api/now/table/을 입력한 다음 데이터 알약 선택기( )를 선택합니다. 선택 입력 > 테이블.
HTTP 메서드 GET을 입력합니다. 쿼리 매개변수 더하기 아이콘(더 )을 선택하여 새 쿼리 매개변수를 추가합니다. 그런 다음 이름 필드에 sysparm_limit 입력합니다. 값 필드 옆에 있는 데이터 알약 선택기(
)를 선택한 다음 입력 > NumberOfRecords.
-
작업 개요의 입력 아래에서 새 단계 추가 아이콘(
)을 선택하고 스크립트 단계를 선택합니다.
- 입력 변수 섹션에서 변수 생성을 선택합니다.
- 이름 필드에 payload를 입력합니다.
-
값 필드 옆에 있는 데이터 알약 선택기(
)를 선택하고 REST(Representational State Transfer) 단계 > 응답 본문.
-
스크립트 필드에 다음 코드를 입력합니다.
(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); - 출력 변수 섹션에서 변수 만들기를 선택합니다.
- 레이블 및 이름 필드에 record를 입력합니다.
- 유형 필드에 대해 JSON을 선택합니다.
- 필수 슬라이더를 활성 상태로 전환합니다.
- 변수 생성을 선택하여 스크립트 단계에 대한 다른 출력 변수를 생성합니다.
- 레이블 및 이름 필드에 records를 입력합니다.
- 유형 필드에서 JSON을 선택합니다.
- 입력을 필수로 만들려면 필수 슬라이더를 활성 상태로 전환합니다.
-
작업 개요에서 출력을 선택합니다.
- 작업 출력 헤더에서 출력 생성을 선택합니다.
- 레이블 및 이름 필드에 Records를 입력합니다.
- 유형 필드에서 동적 객체를 선택합니다.
-
고급 입력 전환 아이콘(고급
)을 선택하여
기록출력에 대한 고급 옵션을 표시합니다. - 동적 옵션에서 작업으로 ServiceNow Array.Object 스키마 가져오기(동적) 를 선택합니다.
- 테이블 입력을 다른 입력에 종속시키려면 다른 입력에 종속(Depends-On Another Input ) 슬라이더를 전환하여 활성화합니다.
- 테이블e 필드에서 테이블을 선택합니다.
- 작업 출력 헤더에서 편집 모드 종료를 선택합니다.
-
값 필드 옆에 있는 데이터 알약 선택기(
)를 선택하고 스크립트 단계 > 기록.
- 작업 출력 헤더에서 출력 편집 > 출력 작성 다른 작업 출력을 생성합니다.
- 레이블 및 이름 필드에 Record를 입력합니다.
- 유형 필드에서 동적 객체를 선택합니다.
-
고급 입력 전환 아이콘(
선택하여
기록출력에 대한 고급 옵션을 표시합니다. - 동적 옵션의 작업 필드에서 ServiceNow 개체 스키마 가져오기(동적)를 선택합니다.
- 테이블 입력을 다른 입력에 종속시키려면 다른 입력에 종속(Depends-On Another Input ) 슬라이더를 전환하여 활성화합니다.
- 테이블 필드에서 테이블을 선택합니다.
- 작업 출력 헤더에서 편집 모드 종료를 선택합니다.
-
값의 경우 데이터 알약 선택기(
)를 선택하고 스크립트 단계 > 기록.
-
작업 헤더에서 저장을 선택한 다음, 테스트를 선택하여 작업을 테스트합니다.
- 테스트 작업 화면에서 테이블 입력에 대해 동적으로 생성된 선택 값을 선택합니다.
- 테스트 실행을 선택합니다.
-
작업의 실행 상세 정보를 확인합니다.
Record의 런타임 값이 올바른 형식의 복합 객체이고Record의 런타임 값이 올바른 형식의 복합 객체 배열이면 작업이 성공적으로 실행됩니다.
- 작업 헤더에서 게시 를 선택하여 전역 범위 내의 플로우에 작업을 사용할 수 있도록 합니다 Get ServiceNow Records (Dynamic) .
결과
이제 플로우에 Get ServiceNow Records (Dynamic) 작업을 추가할 수 있습니다. 이 샘플 작업은 데이터 패널에서 데이터 알약으로 액세스할 수 있는 두 개의 작업 출력인 Record 및 Records를 동적으로 생성합니다. 테이블 입력 값이 변경되면 데이터 알약이 동적으로 새로 고침됩니다.