사용자를 가져오는 데이터 스트림 작업 만들기
데이터 스트림 작업을 생성하여 애플리케이션에서 사용자 구독 SaaS 목록을 가져옵니다.
시작하기 전에
기존 ServiceNow® 통합 허브 스포크를 사용하는 경우 사용자 목록을 생성하는 대신 사용할 수 있는 사용자 목록을 가져오는 데이터 스트림 작업이 있는지 확인합니다. 데이터 스트림 작업에 대한 자세한 내용은 데이터 스트림 작업을 참조하십시오.
필요한 역할: flow_designer 또는 admin
프로시저
- 다음으로 이동 모두 > 플로우 디자이너 > 디자이너.
- 새로 만들기를 선택합니다.
- 데이터 스트림을 선택합니다.
-
양식에서 필드를 채웁니다.
표 1. 작업 속성 양식 필드 값 이름 선택한 이름입니다. 예를 들어 사용자 가져오기입니다.
다음에서 접근 가능 모든 애플리케이션 범위입니다. 범주 이 필드를 비워 둡니다. 보호 없음. 애플리케이션 애플리케이션과 통합할 SaaS 스포크 앱입니다. 이 스포크 앱은 기존 통합 허브 스포크 또는 사용자가 생성한 새 스포크일 수 있습니다.
플로우 내 주석 이 필드를 비워 둡니다. 설명 선택에 대한 설명입니다. - 제출을 선택합니다.
-
작업 중인 API에서 요청에 대한 사용자 인증을 요구하는 경우 작업 개요에서 입력을 선택하고 인증을 위한 입력을 추가합니다.
일반적인 사용자 인증 입력의 예로는 관리자 사용자 ID 및 사이트 이름이 있습니다. 특정 경우에 사용자 인증에 대한 요구 사항에 대해 알아보려면 선택한 API에 대한 설명서를 참조하십시오. API에 액세스 토큰이 필요한 경우 나중에 자격 증명 값 변수가 자동으로 생성됩니다. 액세스 토큰을 입력으로 추가할 필요가 없습니다.
하위 플로우에서 완료된 데이터 스트림 작업을 사용할 때 이러한 입력으로 전달할 값을 정의합니다.
- 작업 개요에서 요청을 선택합니다.
-
양식에서 필드를 채웁니다.
표 2. 요청 양식 필드 값 데이터를 가져오는 방법 REST 단계 또는 SOAP 단계를 선택합니다. 통합하려는 애플리케이션의 API SaaS 에 따라 선택 사항이 달라집니다.
페이지 매김 사용 선택된. 각 요청 전에 스크립트 실행 선택되지 않았습니다. - 작업 개요에서 페이지 매김 설정 단계를 선택합니다.
-
API에서 사용하는 SaaS 쿼리 매개변수를 기반으로 페이지 매김 변수를 정의합니다.
오프셋 기반 페이지 매김을 사용하는 경우 페이지 매김 제한/오프셋 템플릿을 사용하여 페이지 매김 구성을 미리 로드합니다.
주:예약된getNextPage변수의 값은 결과의 다른 페이지를 요청할지 여부를 결정합니다.getNextPage변수가 true인 한, 작업은 다음 페이지에 대한 요청을 계속 보냅니다. -
페이지 매김 변수 스크립트를 작성하여 페이지 매김 변수를 업데이트합니다.
스크립트는 각 요청에 대해 실행됩니다. 페이지 매김 템플릿을 사용하는 경우 필요에 따라 미리 로드된 스크립트를 조정합니다.
다음 이미지는 페이지 매김 설정 단계 완료의 예를 보여줍니다. 이 예시는 구독 다운로드 하위 플로우에 Webex 사용되는 사용자 가져오기 데이터 스트림 작업에서 가져온 것입니다.
주:페이지 매김 변수는 문자열 데이터 유형만 지원합니다. 수학 연산을 수행하려면 값을 정수로 변환하고, 필요한 조작을 수행한 후 다시 문자열로 변환해야 합니다. -
데이터를 받으려면 작업 개요에서 SOAP 단계 또는 REST 단계를 선택합니다.
- SOAP 단계를 선택한 경우 상세 정보를 입력합니다.
표 3. SOAP 단계 양식 필드 값 연결 상세 정보 연결 연결 별칭을 사용합니다. 연결 별칭 통합 프로파일을 생성할 때 생성한 연결 별칭입니다. 통합 프로파일을 아직 생성하지 않은 경우 단계에 따라 연결 별칭으로 사용자 지정 통합 프로파일을 생성합니다. 엔드포인트 연결 별칭을 선택하면 이 값이 자동으로 채워집니다. 이 값은 별칭에 연결된 HTTP 연결 기록에서 연결 URL로 설정됩니다.
요청 상세 정보 빌드 봉투 수동으로. SOAP 작업 모든 사용자 목록을 가져오기 위한 API 요청입니다. 선택한 API의 설명서를 참조하여 적절한 요청을 선택합니다. SOAP 봉투 모든 사용자 목록을 가져오는 XML 요청 메시지입니다. XML 요청 메시지를 작성하는 방법을 알아보려면 선택한 API의 설명서를 참조하십시오. 일반적으로 헤더에는 사용자 인증을 위한 입력 변수와 액세스 토큰으로 자격 증명 값 변수가 있어야 합니다. 본문에는 페이지 매김 설정 단계에서 모든 사용자 및 변수 목록을 가져오는 요청이 포함되어야 합니다. 주:SOAP 봉투의 예는 구독 다운로드 하위 플로우에 Webex 사용되는 사용자 가져오기 데이터 스트림 작업을 참조하십시오. - REST 단계를 선택한 경우 상세 정보를 입력합니다.
표 4. REST 단계 양식 필드 값 연결 상세 정보 연결 연결 별칭을 사용합니다. 연결 별칭 통합 프로파일을 생성할 때 생성한 연결 별칭입니다. 통합 프로파일을 아직 생성하지 않은 경우 단계에 따라 연결 별칭으로 사용자 지정 통합 프로파일을 생성합니다. 기본 URL 연결 별칭을 선택하면 이 값이 자동으로 채워집니다. 별칭에 연결된 HTTP 연결 기록에서 연결 URL로 설정됩니다. 요청 상세 정보 빌드 요청 수동으로. 자원 경로 자원에 대한 경로입니다. 이 값은 기본 URL에 추가됩니다. 리소스 경로를 구성하는 방법을 알아보려면 작업 중인 API에 대한 설명서를 참조하세요. HTTP 메서드 게트. 쿼리 매개변수 페이지 매김을 위한 매개변수를 추가합니다. 값을 페이지 매김 설정 단계에서 생성한 변수로 설정합니다. 다음 이미지는 REST 단계의 완료된 예를 보여줍니다. 이 예시는 구독 다운로드 하위 플로우에 Jira 사용되는 사용자 가져오기 Jira 데이터 스트림 작업에서 가져온 것입니다.
- SOAP 단계를 선택한 경우 상세 정보를 입력합니다.
- 작업 개요에서 구문 분석을 선택합니다.
-
양식에서 필드를 채웁니다.
표 5. 구문 분석 양식 필드 값 각 기록을 식별하는 방법 JSON/XML 스플리터 각 항목을 하나의 객체로 구문 분석하는 방법 스크립트 파서 - 작업 개요에서 분할 단계를 선택합니다.
-
양식에서 필드를 채웁니다.
표 6. 스플리터 단계 필드 값 소스 형식 API 응답에서 반환하는 형식에 따라 XML 또는 JSON을 선택합니다. 항목 경로 응답 메시지에 있는 사용자 요소의 절대 경로입니다. 응답 메시지의 형식에 대한 자세한 내용은 작업 중인 API의 설명서를 참조하십시오. - 예시 XML 항목 경로:
/message/body/user - JSON 항목 경로 예시:
$.data.user
- 예시 XML 항목 경로:
- 작업 개요에서 출력을 선택합니다.
-
출력 생성을 선택하고 표시된 대로 변수를 편집합니다.
표 7. 작업 출력 레이블 이름 유형 필수 targetObject targetObject 객체 아니요 -
응답 메시지에 반환된 사용자 하위 요소를 기반으로 targetObject 에 대한 하위 항목을 추가합니다.
예를 들어 XML 응답은 다음과 같을 수 있습니다.
이 응답의 경우 표시된 대로 하위 항목을 추가합니다.<message> <body> <user> <userID>12345</userID> <email>email@email.com</email> <firstName>Jane</firstName> <lastName>Doe</lastName> <lastLoginTime>08/13/2019 20:08:16</lastLoginTime> <active>TRUE</active> </user> <user> ... </user> </body> </message>표 8. targetObject의 하위 항목 레이블 이름 유형 필수 userID userID 문자열 아니요 이메일 이메일 문자열 아니요 firstName firstName 문자열 아니요 lastName lastName 문자열 아니요 lastLoginTime lastLoginTime 문자열 아니요 활성 활성 true/false 아니요 - 작업 개요에서 스크립트 파서 단계를 선택합니다.
-
응답의 각 사용자 요소에 대해 targetObject 출력 개체를 만든 다음, 각 사용자 자식 요소를 targetObject 자식 항목에 매핑합니다.
파서 스크립트는 각 사용자 요소에 대해 실행됩니다.
주:다음 예제에서는 일반적으로 사용자 가져오기 요청에 대한 응답에 포함된 요소 유형을 보여 줍니다. 이러한 스크립트를 직접 복사하지 마십시오. 작업 중인 API에 대한 설명서의 요소 이름을 사용합니다.XML 응답을 구문 분석하는 예시 스크립트입니다.(function parse(inputs, outputs) { var xmlDoc = new XMLDocument(inputs.sourceItem, false); outputs.targetObject.userID = xmlDoc.getNodeText('/user/userID'); outputs.targetObject.email = xmlDoc.getNodeText('/user/email'); outputs.targetObject.firstName = xmlDoc.getNodeText('/user/firstName'); outputs.targetObject.lastName = xmlDoc.getNodeText('/user/lastName'); outputs.targetObject.lastLoginTime = xmlDoc.getNodeText('/user/lastLoginTime'); outputs.targetObject.active = xmlDoc.getNodeText('/user/active'); })(inputs, outputs)JSON 응답을 구문 분석하는 예시 스크립트입니다.(function parse(inputs, outputs) { var record = JSON.parse(inputs.sourceItem); outputs.targetObject.userID = record.userID; outputs.targetObject.email = record.email; outputs.targetObject.firstName = record.firstName; outputs.targetObject.lastName = record.lastName; outputs.targetObject.lastLoginTime = record.lastLoginTime; outputs.targetObject.active = record.active; })(inputs, outputs) -
데이터 스트림 작업을 테스트하려면 테스트를 선택합니다.
-
오류에 대한 자세한 내용은 테스트 결과 및 시스템 로그를 참조하십시오.
시스템 로그를 보려면 다음으로 이동하십시오. 시스템 로그 > 시스템 로그 > 모두.
- 데이터 스트림 작업에 오류가 있는 경우 올바른 엔드포인트를 사용하고 있고 API 요청 및 응답이 예상대로 구성되어 있는지 확인합니다.
-
오류에 대한 자세한 내용은 테스트 결과 및 시스템 로그를 참조하십시오.
- 데이터 스트림 작업이 예상대로 작동하는지 확인한 후 게시를 선택합니다.