동적 출력 시작하기
플로우에서 사용할 동적 객체를 작성하는 샘플 작업을 생성합니다.
시작하기 전에
이 태스크 정보
- 인스턴스에서 테이블 스키마 데이터를 수집하는 REST 단계입니다.
- REST 단계의 응답 본문에서 페이로드를 구성하는 스크립트 단계입니다.
- JSON 형식의
output이라는 출력 변수입니다.
주:
이 작업은 다음과 같은 경우 설치되는 데모 작업을 다시 만듭니다. 요청 Integration Hub 플러그인 인스턴스에.
프로시저
- 다음으로 이동 모두 > 프로세스 자동화 > 플로우 디자이너레이블이 표시됩니다.
-
New(새로 만들기)를 클릭하고 New Action(새 작업)을 선택합니다.
- 작업 속성 화면의 이름 필드에 Get ServiceNow Object Schema (Dynamic)를 입력합니다.
- 제출을 클릭합니다.
-
Action Outline(작업 개요)에서 Inputs(입력)를 클릭합니다.
- Action Input(작업 입력) 헤더에서 Create Input(입력 생성)을 클릭합니다.
- Label( 레이블) 및 Name(이름 ) 필드에 Table(테이블)을 입력합니다.
- 유형 필드에서 문자열을 선택합니다.
- 이 입력을 필수로 만들려면 필수 슬라이더를 전환하여 활성화시킵니다.
-
작업 개요의 입력에서 새 단계
)을 클릭하고 REST 단계를 선택합니다.
-
REST 단계 헤더 아래의 다음 필드를 채웁니다.
필드 값 연결 연결 별칭 사용 옵션을 선택된 상태로 둡니다. 연결 별칭 새 기록 생성 아이콘( )을 클릭하여 새 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레이블이 표시됩니다.
-
Action(작업) 헤더에서 Save(저장 )를 클릭한 다음 Test(테스트) 를 클릭하여 작업을 테스트합니다.
- 테스트 작업 화면에서 테이블 입력에 인시던트를 입력합니다.
- 테스트 실행을 클릭합니다.
- 작업의 실행 상세 정보를 확인합니다.
필드에대한 런타임 값이 다음 축약된 예제와 유사한 형식의 복합 객체인 경우 데이터 수집 작업이 성공적으로 실행됩니다.{ "data": { "type": "object", "children": [ { "name": "active", "label": "Active", "type": "boolean" }, { "name": "activity_due", "label": "Activity due", "type": "datetime" }, ... - Action(작업) 헤더에서 Publish(게시 )를 클릭하여 전역 범위 내의 다른 플로우 및 작업에서 작업을 사용할 수 있도록 합니다 Get ServiceNow Object Schema (Dynamic) .
ServiceNow Array.Object 스키마 가져오기(동적) 작업 작성
샘플 데이터 수집 작업을 만들어 개체 배열을 생성합니다.
시작하기 전에
프로시저
-
메인 헤더에서 플로우 생성, 하위 플로우 또는 작업 아이콘(플로우
)을 클릭하고 작업을 선택합니다.
- 작업 속성 화면의 이름 필드에 Get ServiceNow Array.Object 스키마(동적)를 입력합니다.
- 제출을 클릭합니다.
-
Action Outline(작업 개요)에서 Inputs(입력)를 클릭합니다.
- Action Input(작업 입력) 헤더에서 Create Input(입력 생성)을 클릭합니다.
- Label( 레이블) 및 Name(이름 ) 필드에 Table(테이블)을 입력합니다.
- 유형 필드에서 문자열을 선택합니다.
- 입력이 필요하도록 하려면 필수 슬라이더를 전환하여 활성화합니다.
-
작업 개요에서 입력 아래의 새 단계 추가 아이콘(
)을 클릭하고 REST 단계를 선택합니다.
-
REST 단계 헤더 아래의 다음 필드를 채웁니다.
필드 값 연결 연결 별칭 사용을 선택한 상태로 둡니다. 연결 별칭 새 기록 생성 아이콘( )을 클릭하여 새 HTTP 연결을 생성하거나 인스턴스에 기존 연결을 사용합니다. HTTP 연결에 대한 자격 증명 은 기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다.
빌드 요청 Manual(수동)을 선택한 상태로 둡니다. 자원 경로 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레이블이 표시됩니다.
-
Action(작업) 헤더에서 Save(저장 )를 클릭한 다음 Test(테스트) 를 클릭하여 작업을 테스트합니다.
- 테스트 작업 화면의 테이블 필드에 incident를 입력합니다.
- 테스트 실행을 클릭합니다.
-
작업의 실행 상세 정보를 확인합니다.
다음 축약된 예제와 같이
필드출력에 대한 런타임 값이레이블,이름및값에 대한 키-값 쌍의 배열을 포함하는 복합 객체인 경우 데이터 수집 작업이 성공적으로 실행됩니다.{ "data": { "type": "array.object", "children": [ { "name": "active", "label": "Active", "type": "boolean" }, { "name": "activity_due", "label": "Activity due", "type": "datetime" }, ...
- Action(작업) 헤더에서 Publish(게시 )를 클릭하여 전역 범위 내의 다른 작업에서 작업을 사용할 수 있도록 합니다 Get ServiceNow Array.Object Schema (Dynamic) .
ServiceNow 기록 가져오기(동적) 작업 생성
샘플 작업을 생성하여 테이블 입력 값이 변경될 때 동적으로 새로 고침되는 두 개의 작업 출력, 기록 및 기록을 동적으로 생성합니다.
시작하기 전에
프로시저
-
메인 헤더에서 플로우 생성, 하위 플로우 또는 작업 아이콘(플로우
)을 클릭하고 작업을 선택합니다.
- 작업 속성 모달의 이름 필드에 ServiceNow 기록 가져오기(동적)를 입력합니다.
- 제출을 클릭합니다.
-
Action Outline(작업 개요)에서 Inputs(입력)를 클릭합니다.
- Action Input(작업 입력) 헤더에서 Create Input(입력 생성)을 클릭합니다.
- Label( 레이블) 및 Name(이름 ) 필드에 Table(테이블)을 입력합니다.
- Type( 유형 ) 필드에서 Dynamic Choice(동적 선택)를 선택합니다.
- 입력이 필요하도록 하려면 필수 슬라이더를 전환하여 활성화합니다.
-
고급 입력 전환 아이콘(
클릭하여
테이블입력에 대한 고급 옵션을 표시합니다. - 기본값 필드에 incident를 입력합니다.
- 동적 옵션의 작업 필드에서 ServiceNow 테이블 가져오기 - 동적을 선택합니다.
- 입력 생성을 클릭하여 다른 작업 입력을 생성합니다.
- 레이블 및 이름 필드에 NumberOfRecords를 입력합니다.
- Type( 유형 ) 필드에서 Integer(정수)를 선택합니다.
- 입력이 필요하도록 하려면 필수 슬라이더를 전환하여 활성화합니다.
-
고급 입력 전환 아이콘(
클릭하여
테이블입력에 대한 고급 옵션을 표시합니다. - 기본값 필드에 3을 입력합니다.
-
작업 개요에서 입력 아래의 새 단계 추가 아이콘(
)을 클릭하고 REST 단계를 선택합니다.
-
REST 단계 헤더 아래의 다음 필드를 채웁니다.
필드 값 연결 연결 별칭 사용을 선택한 상태로 둡니다. 연결 별칭 새 기록 생성 아이콘( )을 클릭하여 새 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(편집 모드 종료)를 클릭합니다.
-
값에 대해 데이터 정제 선택기(
)를 클릭하고 선택합니다. 스크립트 단계 > 기록레이블이 표시됩니다.
-
Action(작업) 헤더에서 Save(저장 )를 클릭한 다음 Test(테스트) 를 클릭하여 작업을 테스트합니다.
- 테스트 작업 화면에서 테이블 입력에 대해 동적으로 생성된 선택 값을 선택합니다.
- 테스트 실행을 클릭합니다.
-
작업의 실행 상세 정보를 확인합니다.
Record의 런타임 값이 올바른 형식의 복합 객체이고Records의 런타임 값이 올바른 형식의 복합 객체 배열인 경우 작업이 성공적으로 실행됩니다.
- 작업 헤더에서 게시 를 클릭하여 전역 범위 내의 플로우에서 Get ServiceNow Records (Dynamic) 작업을 사용할 수 있도록 합니다.
결과
기록 및 기록이라는 두 가지 작업 출력을 동적으로 생성합니다. 테이블 입력의 값이 변경되면 데이터 알약이 동적으로 새로 고침됩니다.