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