동적 입력으로 시작하기

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기23분
  • 플로우에서 사용 가능한 모든 유형의 동적 입력을 사용하는 방법을 보여주는 샘플 작업을 생성합니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    프로시저

    1. 인스턴스에 대한 자격 증명 및 연결 기록 생성.
      이 연결 및 자격 증명 별칭은 데이터 수집 동작의 REST 단계를 구성하는 데 필요한 기본 URL과 사용자 계정을 제공합니다.
    2. 테이블 이름을 가져오는 데이터 수집 작업 생성.
      이 데이터 수집 작업은 동적 선택 입력에 대한 JSON 데이터를 제공합니다.
    3. 필드 이름을 가져오는 데이터 수집 작업 생성.
      이 데이터 수집 작업은 동적 템플릿 입력에 대한 JSON 데이터를 제공합니다.
    4. 데이터 수집 작업을 생성하여 동적 입력 추가.
      이 데이터 수집 작업은 임의의 동적 입력을 작성하기 위한 JSON 데이터를 제공합니다.
    5. 동적 입력을 테스트하기 위한 사용자 지정 동작 만들기.
      이 사용자 지정 작업은 다양한 유형의 동적 입력을 보여줍니다.

    인스턴스에 대한 자격 증명 및 연결 기록 생성

    로컬 인스턴스에 연결하는 데 필요한 별칭, 연결 및 자격 증명을 생성합니다.

    시작하기 전에

    필요한 역할: admin

    프로시저

    1. 다음으로 이동 모두 > 연결 및 자격 증명 > 자격 증명.
    2. 새로 만들기를 선택하고 기본 인증 자격 증명을 선택한 후 이러한 필드 값을 입력합니다.
      1. Name(이름)에 Local Admin(로컬 관리자)을 입력합니다.
      2. 사용자 이름에 Flow Designer 및 REST API에 대한 액세스 권한이 있는 사용자 계정을 입력합니다.
        예를 들어 admin을 입력합니다.
      3. Password(암호)에 계정 암호를 입력합니다.
    3. 제출을 선택하여 자격 증명 기록을 만듭니다.
    4. 다음으로 이동 모두 > 연결 및 자격 증명 > 연결 및 자격 증명 별칭.
    5. 새로 만들기를 선택하고 다음 필드 값을 입력합니다.
      1. 이름(Name)에 로컬 인스턴스(Local Instance)를 입력합니다.
      2. 연결 유형에 대해 HTTP의 기본값을 수락합니다.
      3. 제출을 선택하여 연결 및 자격 증명 별칭 기록을 만듭니다.
    6. 생성한 별칭을 선택합니다.
      예를 들어 로컬 인스턴스를 선택합니다.
    7. 연결 관련 목록에서 새로 만들기를 선택하고 다음 필드 값을 입력합니다.
      1. 이름(Name)에 내 인스턴스(My Instance)를 입력합니다.
      2. 자격 증명의 경우 생성한 기본 인증 자격 증명 레코드를 선택합니다.
        예를 들어 로컬 관리자 자격 증명을 선택합니다.
      3. Connection URL(연결 URL)에 끝에 있는 슬래시를 포함하여 인스턴스의 기본 URL을 입력합니다.
        URL 접두사 https:// 포함하고 URL 끝에 슬래시 문자를 추가합니다.
        예를 들면 https://example.service-now.com/입니다.
      4. 제출을 선택하여 HTTP 연결 기록을 만듭니다.

    결과

    REST 단계를 구성할 때 로컬 인스턴스 별칭을 사용하여 로컬 인스턴스에 연결할 수 있습니다.

    테이블 이름을 가져오는 데이터 수집 작업 생성

    사용자 지정 데이터 수집 작업을 생성하여 Table API에서 테이블 이름 목록을 가져옵니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    이 태스크 정보

    이 데이터 수집 작업은 다음 요소로 구성됩니다.
    • REST에서 테이블 이름을 수집하는 REST 단계 Table API
    • REST 단계의 응답 본문에서 JSON 페이로드를 구성하는 스크립트 단계
    • 테이블 이름 및 값 쌍을 JSON 문서로 저장하기 위한 output 이라는 작업 출력 변수

    이 사용자 지정 작업은 REST API 호출을 사용하여 ServiceNow core 기록 조회 작업기록 조회 작업. 일반적으로 기본 기록 작업을 수행하기 위해 사용자 지정 동작을 만들 필요는 없습니다. 이 작업은 REST 및 스크립트 단계를 사용하여 동적 입력에 대한 테이블 데이터를 수집하는 방법을 보여줍니다.

    프로시저

    1. 다음으로 이동 모두 > 프로세스 자동화 > 워크플로우 스튜디오.
    2. 홈페이지에서 작업을 선택합니다.
    3. 선택 새로 생성 > 작업.
      1. 작업 속성 화면의 작업 이름 필드에 테이블에 대한 데이터 수집 작업을 입력합니다.
      2. Application(애플리케이션)에서 Global(전역)을 선택합니다.
      3. 제출을 선택합니다.
      2단계에서 작성된 작업 속성 예시
    4. 입력 섹션의 작업 개요에서 새 단계 추가 아이콘( 새 단계 추가 아이콘)을 선택합니다.
    5. 통합 섹션에서 REST 단계를 선택하고 다음 필드 값을 입력합니다.
      입력
      연결 연결 별칭 사용(Use Connection Alias)을 선택한 상태로 둡니다.
      연결 별칭 이전에 만든 별칭을 선택하거나 새 레코드 만들기 아이콘( 새 레코드 만들기 아이콘)을 선택하여 HTTP 연결을 만듭니다.
      주:
      HTTP 연결에 대한 자격 증명기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다. 연결 및 자격 증명에 대한 자세한 내용은 연결 시작하기자격 증명 시작하기를 참조하세요.
      빌드 요청 수동 옵션을 선택된 상태로 둡니다.
      자원 경로 api/now/doc/table/schema 입력
      HTTP 메서드 GET을 입력합니다.
      3단계와 4단계의 REST 단계 구성 예
    6. REST 단계 아래의 작업 개요에서 새 단계 추가 아이콘( 새 단계 아이콘)을 선택하고 스크립트 단계를 선택합니다.
      1. 입력 변수(Input Variables) 섹션에서 변수 생성(Create Variable)을 선택합니다.
      2. 이름 필드에 payload를 입력합니다.
      3. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 선택합니다 REST(Representational State Transfer) 단계 > 응답 본문.
      4. 스크립트 필드에 다음 코드를 입력합니다.
        
        (function execute(inputs, outputs) {
          var payload = JSON.parse(inputs.payload);
          var tables = payload.result // Get the value of the result array
            .filter(function(table) { return table.value.indexOf('_') < 0; }) // Filter the tables we want
            .map(function(table) { 
              return { label: table.label, name: table.value }; // Set values for label and name 
          });
          outputs.tables = { data: tables }; // Final, properly formatted output
        })(inputs, outputs);

        REST API는 image, reference, rawLabel, selected, label, missing, used 및 value 속성으로 각 테이블을 설명하는 JSON 형식 문자열을 반환합니다. label 및 value 속성은 동적 선택에 필요한 값을 제공합니다. 동적 선택을 하려면 각 선택 옵션에 레이블과 이름이 있어야 합니다. 이 스크립트는 value 속성을 name 속성에 매핑합니다.

      5. Output Variables(출력 변수) 섹션에서 Create Variable(변수 생성)을 선택합니다.
      6. 레이블이름 필드에 tables를 입력합니다.
      7. 유형 필드에서 JSON을 선택합니다.
      5단계의 스크립트 단계 구성 예
    7. Action Outline(작업 개요)에서 Outputs(출력)를 선택합니다.
      1. Create Output(출력 생성)을 선택합니다.
      2. Label( 레이블)Name(이름 ) 필드에 output을 입력합니다.
      3. 유형 필드에서 JSON을 선택합니다.
      4. 편집 모드 종료를 선택합니다.
      5. 옆에 있는 데이터 알약 선택기( Data pill picker)를 선택하고 선택합니다 스크립트 단계 > 테이블.
      6단계의 작업 출력 구성 예
    8. 작업 헤더에서 저장 을 선택한 다음, 테스트를 선택하여 작업을 테스트합니다.
      1. 테스트 실행을 선택합니다.
      2. 작업의 실행 상세 정보를 봅니다.
        다음 축약된 예제와 같이 테이블의 런타임 값이 레이블이름 에 대한 키-값 쌍의 배열을 포함하는 복합 객체인 경우 데이터 수집 작업이 성공적으로 실행됩니다.
        {
          "data": [
            {
              "name": "evaluation",
              "label": "A/B Testing Evaluation"
            },
            {
              "name": "sla",
              "label": "Agreement"
            },
            {
              "name": "announcement",
              "label": "Announcement"
            },
            {
              "name": "cmdb",
              "label": "Base Configuration Item"
            },
            {
              "name": "checklist",
              "label": "Checklist"
            },
            {
              "name": "collaborator",
              "label": "Collaborator"
            },
            {
              "name": "conflict",
              "label": "Conflict"
            },
            {
              "name": "clone",
              "label": "Database Clone"
            },
            {
              "name": "dsl",
              "label": "DML"
            },
            {
              "name": "global",
              "label": "Global"
            },
            {
              "name": "goal",
              "label": "Goal"
            },
            {
              "name": "incident",
              "label": "Incident"
            },
            {
              "name": "interaction",
              "label": "Interaction"
            },
            {
              "name": "map",
              "label": "Map"
            },
            {
              "name": "ola",
              "label": "OLA"
            },
            {
              "name": "problem",
              "label": "Problem"
            },
            {
              "name": "question",
              "label": "Question"
            },
            {
              "name": "reminder",
              "label": "Reminder"
            },
            {
              "name": "instance",
              "label": "ServiceNow Instance"
            },
            {
              "name": "label",
              "label": "Tag"
            },
            {
              "name": "task",
              "label": "Task"
            },
            {
              "name": "taxonomy",
              "label": "Taxonomy"
            },
            {
              "name": "ticket",
              "label": "Ticket"
            },
            {
              "name": "topic",
              "label": "Topic"
            },
            {
              "name": "expert",
              "label": "Wizard"
            }
          ]
        }
      7단계의 작업 실행 상세 정보 예시
    9. 작업 헤더에서 게시 를 선택하여 전역 범위 내의 다른 플로우 및 작업에서 이 작업을 사용할 수 있도록 합니다.

    필드 이름을 가져오는 데이터 수집 작업 생성

    테이블에서 필드 목록을 가져오는 데이터 수집 동작을 만듭니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    이 태스크 정보

    이 데이터 수집 작업은 다음 요소로 구성됩니다.
    • REST에서 필드를 수집하는 REST 단계 Table API
    • REST 단계의 응답 본문에서 JSON 페이로드를 구성하는 스크립트 단계
    • 필드 이름 및 값 쌍을 JSON 문서로 저장할 output 이라는 작업 출력 변수

    이 사용자 지정 작업은 REST API 호출을 사용하여 ServiceNow core 기록 조회 작업기록 조회 작업. 일반적으로 기본 기록 작업을 수행하기 위해 사용자 지정 동작을 만들 필요는 없습니다. 이 작업은 REST 및 스크립트 단계를 사용하여 동적 입력에 대한 필드 데이터를 수집하는 방법을 보여줍니다.

    프로시저

    1. 다음으로 이동 모두 > 프로세스 자동화 > 워크플로우 스튜디오.
    2. 홈페이지에서 작업을 선택합니다.
    3. 선택 새로 생성 > 작업.
      1. 작업 속성 화면의 작업 이름 필드에 필드에 대한 데이터 수집 작업을 입력합니다.
      2. Application(애플리케이션)에서 Global(전역)을 선택합니다.
      3. 제출을 선택합니다.
      2단계의 작업 속성 예시
    4. Action Outline(작업 개요)에서 Inputs(입력)를 선택합니다.
      1. Action Input(작업 입력) 헤더에서 Create Input(입력 생성)을 선택합니다.
      2. Label( 레이블)Name(이름 ) 필드에 Table(테이블)을 입력합니다.
      3. 유형 필드에서 문자열을 선택합니다.
      4. 필수 슬라이더를 전환하여 활성화합니다.
      5. 고급 입력 토글 아이콘을 선택하여 고급 입력을 표시합니다.
      6. 기본값incident를 입력합니다.
      3단계의 입력 구성 예
    5. REST 단계 아래의 작업 개요에서 새 단계 추가 아이콘( 새 단계 아이콘)을 선택합니다.
    6. 통합 섹션에서 스크립트 단계를 선택하고 다음 필드 값을 입력합니다.
      1. 입력 변수(Input Variables) 섹션에서 변수 생성(Create Variable)을 선택합니다.
      2. 이름 필드에 table을 입력합니다.
      3. 옆에 있는 데이터 알약 선택기( Data pill picker)를 선택하고 선택합니다 작업 > 테이블.
      4. 스크립트 필드에 다음 코드를 입력합니다.
        
        (function execute(inputs, outputs) {
            if(!inputs.table || inputs.table === "-- None --") { // check for empty or no table 
              outputs.table = "incident"; // set default table to incident
            } else {
              outputs.table = inputs.table; // use input value provided
            }
        })(inputs, outputs);

        이 스크립트를 통해 REST 단계에는 항상 테이블 이름이 있습니다.

      5. Output Variables(출력 변수) 섹션에서 Create Variable(변수 생성)을 선택합니다.
      6. 레이블이름 필드에 table을 입력합니다.
      7. 유형 필드에서 문자열을 선택합니다.
      5단계의 스크립트 단계 구성 예
    7. 입력 섹션 아래의 작업 개요에서 새 단계 추가 아이콘( 새 단계 아이콘)을 선택합니다.
    8. 통합 섹션에서 REST 단계를 선택하고 다음 필드 값을 입력합니다.
      입력
      연결 연결 별칭 사용(Use Connection Alias)을 선택한 상태로 둡니다.
      연결 별칭 이전에 만든 별칭을 선택하거나 새 레코드 만들기 아이콘( 새 레코드 만들기 아이콘)을 선택하여 HTTP 연결을 만듭니다.
      주:
      HTTP 연결에 대한 자격 증명기본 인증 자격 증명을 사용해야 합니다. 또한 연결 URL 은 끝에 슬래시를 포함하여 인스턴스의 기본 URL이어야 합니다. 연결 및 자격 증명에 대한 자세한 내용은 연결 시작하기자격 증명 시작하기를 참조하세요.
      빌드 요청 Manually selected( 수동 선택)를 그대로 둡니다.
      자원 경로 api/now/table/ 을 입력한 다음 데이터 정제 선택기( 데이터 정제 선택기)를 선택합니다. 선택 스크립트 단계 > 테이블.
      HTTP 메서드 GET을 입력합니다.
      쿼리 매개변수 REST API가 하나의 기록만 반환하도록 하려면 이 쿼리 매개변수를 추가합니다.
      • 이름: sysparm_limit
      • : 1
      7단계의 REST 단계 구성 예
    9. REST 단계 아래의 작업 개요에서 새 단계 추가 아이콘( 새 단계 아이콘)을 선택합니다.
    10. 통합 섹션에서 스크립트 단계를 선택하고 다음 필드 값을 입력합니다.
      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 fields = Object.keys(payload.result[0]) // Get first record of array
            .map(function(property) {
              return {
                label: property.charAt(0).toUpperCase() + property.slice(1).replace(/_/g, ' '), // Create label from field name
                name: property, // Set name to field name
                value: '' // Set value to empty so that dynamic template can set value
              };
            });
          outputs.fields = { data: fields }; // final properly formatted output
        })(inputs, outputs);

        REST API는 각 필드를 이름 값 쌍 집합으로 설명하는 JSON 형식 문자열을 반환합니다. 여기서 이름은 필드 이름이고 값은 필드 값입니다. 동적 템플릿에는 필드 이름과 레이블만 필요합니다. 필드 값은 템플릿 값으로 설정할 수 있도록 비워 두어야 합니다. label 속성은 첫 글자를 대문자로 표시하고 밑줄 문자를 공백으로 대체하여 필드 이름에서 계산됩니다.

      5. Output Variables(출력 변수) 섹션에서 Create Variable(변수 생성)을 선택합니다.
      6. Label and Name(레이블 및 이름) 필드에 fields를 입력합니다.
      7. 유형 필드에서 JSON을 선택합니다.
      9단계의 스크립트 단계 구성 예
    11. Action Outline(작업 개요)에서 Outputs(출력)를 선택합니다.
      1. Action Output(작업 출력) 헤더에서 Create Output(출력 생성)을 선택합니다.
      2. Label( 레이블)Name(이름 ) 필드에 output을 입력합니다.
      3. 유형 필드에서 JSON을 선택합니다.
      4. 편집 모드 종료를 선택합니다.
      5. 필드 옆에 있는 데이터 알약 선택기( Data pill picker)를 선택한 다음 스크립트 단계 > 필드.
      8단계의 출력 구성 예
    12. 작업 헤더에서 저장 을 선택한 다음, 테스트를 선택하여 작업을 테스트합니다.
      1. 테스트 작업 화면의 테이블 필드에 incident를 입력합니다.
      2. 테스트 실행을 선택합니다.
      3. 작업의 실행 상세 정보를 봅니다.
        다음 축약된 예제와 같이 출력 에 대한 런타임 값이 레이블, 이름 에 대한 키-값 쌍의 배열을 포함하는 복합 객체인 경우 데이터 수집 작업이 성공적으로 실행됩니다.
        {
            "data": [
              {
                "name": "parent",
                "label": "Parent",
                "value": ""
              },
              {
                "name": "made_sla",
                "label": "Made sla",
                "value": ""
              },
              {
                "name": "caused_by",
                "label": "Caused by",
                "value": ""
              },
              {
                "name": "watch_list",
                "label": "Watch list",
                "value": ""
              },
              {
                "name": "upon_reject",
                "label": "Upon reject",
                "value": ""
              },
              {
                "name": "sys_updated_on",
                "label": "Sys updated on",
                "value": ""
              },
              {
                "name": "...",
                "label": "...",
                "value": ""
              },
              {
                "name": "category",
                "label": "Category",
                "value": ""
              }
            ]
          }
      9단계의 작업 실행 상세 정보 예시
    13. 작업 헤더에서 게시 를 클릭하여 전역 범위 내의 다른 작업에서 이 작업을 사용할 수 있도록 합니다.

    데이터 수집 작업을 생성하여 동적 입력 추가

    데이터 수집 작업을 생성하여 참조 유형 동적 입력을 추가합니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    이 태스크 정보

    이 데이터 수집 작업에는 다음 요소가 포함됩니다.
    • 테이블 이름을 저장할 작업 입력 변수
    • 두 개의 동적 입력을 JSON 객체로 구성하는 스크립트 단계
    • 동적 입력을 저장할 output 이라는 작업 출력 변수

    이 사용자 지정 작업은 참조 유형 입력을 사용하여 ServiceNow core 기록 조회 작업기록 조회 작업. 일반적으로 기본 기록 작업을 수행하기 위해 사용자 지정 작업을 만들 필요는 없습니다. 이 작업은 스크립트 단계로 작업하여 동적 입력에 대한 필드 데이터를 수집하는 방법을 보여줍니다.

    프로시저

    1. 다음으로 이동 모두 > 프로세스 자동화 > 워크플로우 스튜디오.
    2. 홈페이지에서 작업을 선택합니다.
    3. 선택 새로 생성 > 작업.
      1. 작업 속성 화면의 작업 이름 필드에 동적 입력에 대한 데이터 수집 작업을 입력합니다.
      2. Application(애플리케이션)에서 Global(전역)을 선택합니다.
      3. 제출을 선택합니다.
      2단계의 작업 속성 예시
    4. Action Outline(작업 개요)에서 Inputs(입력)를 선택합니다.
      1. Action Input(작업 입력) 헤더에서 Create Input(입력 생성)을 선택합니다.
      2. Label( 레이블)Name(이름 ) 필드에 Table(테이블)을 입력합니다.
      3. 유형 필드에서 문자열을 선택합니다.
      4. 고급 입력 토글 아이콘( 고급 입력 토글 아이콘)을 선택합니다.
      5. 기본값 필드에 sys_user를 입력합니다.
      3단계의 작업 입력 구성 예
    5. 입력 아래의 작업 개요에서 새 단계 추가 아이콘( 새 단계 아이콘)을 선택합니다.
    6. 통합 섹션에서 스크립트 단계를 선택하고 다음 필드 값을 입력합니다.
      1. 입력 변수(Input Variables) 섹션에서 변수 생성(Create Variable)을 선택합니다.
      2. 이름 필드에 table을 입력합니다.
      3. 옆에 있는 데이터 알약 선택기( Data pill picker)를 선택하고 선택합니다 입력 > 테이블.
      4. 스크립트 필드에 다음 코드를 입력합니다.
        
        (function execute(inputs, outputs) { 
            // Define JSON for desired dynamic input type
            outputs.data = { 
                data: [{
                  label: 'Reference type input',
                  name: 'referencetype',
                  reference: inputs.table,
                  type: 'reference',
                }]
              }
          })(inputs, outputs);
        동적 입력의 각 유형에는 고유한 JSON 구조가 있습니다. 참조 필드 동적 입력에는 이러한 속성이 필요합니다.
        레이블
        입력 옆에 표시할 텍스트입니다. 예: 참조 필드 입력.
        이름
        동적 입력을 식별하고 값을 저장하는 데 사용되는 내부 이름입니다. 예를 들면 referencetype과 같습니다.
        참조
        참조 필드의 대상 테이블 이름입니다. 예를 들면 sys_user입니다. 이 스크립트에서 테이블 이름은 변수입니다.
        유형
        동적 입력의 데이터 유형입니다. 예를 들어, 참조입니다. type 속성은 입력을 표시하는 방법과 워크플로우 스튜디오 입력을 구성하는 데 필요한 기타 속성을 결정합니다.
      5. Output Variables(출력 변수) 섹션에서 Create Variable(변수 생성)을 선택합니다.
      6. Label( 레이블)Name(이름 ) 필드에 data를 입력합니다.
      7. 유형 필드에서 JSON을 선택합니다.
      4-5단계의 스크립트 단계 구성 예
    7. Action Outline(작업 개요)에서 Outputs(출력)를 선택합니다.
      1. Action Output(작업 출력) 헤더에서 Create Output(출력 생성)을 선택합니다.
      2. Label( 레이블)Name(이름 ) 필드에 output을 입력합니다.
      3. 유형 필드에서 JSON을 선택합니다.
      4. 편집 모드 종료를 선택합니다.
      5. 필드 옆에 있는 데이터 알약 선택기( Data pill picker)를 선택한 다음 스크립트 단계 > 데이터.
      6단계의 출력 구성 예
    8. 작업 헤더에서 저장 을 선택한 다음, 테스트를 선택하여 작업을 테스트합니다.
      1. 테스트 실행을 선택합니다.
      2. 작업의 실행 상세 정보를 봅니다.
        데이터 수집 작업이 성공적으로 실행되면 다음 예제와 같이 출력 의 런타임 값은 JSON 문자열입니다.
        {
          "data": [
            {
              "reference": "sys_user",
              "name": "referencetype",
              "label": "Reference type input",
              "type": "reference"
            }
          ]
        }
      7단계의 작업 실행 상세 정보 예시
    9. 작업 헤더에서 게시 를 선택하여 전역 범위 내의 다른 작업에서 이 작업을 사용할 수 있도록 합니다.

    동적 입력을 테스트하기 위한 사용자 지정 동작 만들기

    동적 입력을 테스트하기 위한 사용자 지정 동작을 만듭니다.

    시작하기 전에

    필요한 역할: action_designer 또는 admin

    이 태스크 정보

    이 도우미 작업은 REST 단계에서 데이터를 수집하는 방법을 설명하기 위해 의 기록 생성 단계 기능을 복제합니다. 일반적으로 외부 공급업체 시스템 및 데이터에 대한 통합에 동적 입력을 사용합니다.

    이 사용자 지정 작업에는 다음 요소가 포함됩니다.
    • 테이블을 선택하기 위한 동적 선택 유형의 입력
    • 필드 값을 선택하고 설정하는 동적 템플릿 유형의 입력
    • 에서 기록을 생성하는 스크립트 단계 GlideRecord - Global
    • 생성된 기록의 sys_id 저장하기 위한 output 이라는 작업 출력 변수

    프로시저

    1. 다음으로 이동 모두 > 프로세스 자동화 > 워크플로우 스튜디오.
    2. 홈페이지에서 작업을 선택합니다.
    3. 선택 새로 생성 > 작업.
      1. 작업 속성 화면의 작업 이름 필드에 Create Record from Dynamic Inputs를 입력합니다.
      2. Application(애플리케이션)에서 Global(전역)을 선택합니다.
      3. 제출을 선택합니다.
      2단계의 작업 속성 구성 예시
    4. Action Outline(작업 개요)에서 Inputs(입력)를 선택합니다.
      1. 입력 생성을 선택합니다.
      2. Label( 레이블)Name(이름 ) 필드에 Table(테이블)을 입력합니다.
      3. Type( 유형 ) 필드에서 Dynamic Choice(동적 선택)를 선택합니다.
      4. 필수 토글 스위치를 켭니다.
      5. 기본값incident를 입력합니다.
      6. 선택에 대한 기본값을 수락합니다.
      7. 동작 필드의 동적 옵션에서 테이블에 대한 데이터 수집 동작을 선택합니다.
      8. 입력 생성을 선택하여 다른 작업 입력을 생성합니다.
      9. Label and Name(레이블 및 이름) 필드에 Fields(필드)를 입력합니다.
      10. Type( 유형 ) 필드에서 Dynamic Template(동적 템플릿)을 선택합니다.
      11. 필수 토글 스위치를 켭니다.
      12. 동적 옵션의 동작 필드에서 필드에 대한 데이터 수집 동작을 선택합니다.
      13. 테이블 필드 옆에 있는 종속-다른 입력 토글 스위치를 켭니다.
      14. 테이블 필드에서 테이블 입력을 선택합니다.
      15. 입력 생성을 선택하여 다른 작업 입력을 생성합니다.
      16. Label( 레이블)Name(이름 ) 필드에 Dynamic Input(동적 입력)을 입력합니다.
      17. Type( 유형 ) 필드에서 Dynamic Inputs(동적 입력)를 선택합니다.
      18. 동작 필드의 동적 옵션에서 동적 입력에 대한 데이터 수집 동작을 선택합니다.
      19. 데이터 수집 작업에서 제공하는 sys_user 기본값을 사용하려면 테이블 필드를 비워 둡니다.
      3단계의 입력 구성 예
    5. 입력 섹션 아래의 작업 개요에서 새 단계 추가 아이콘( 새 단계 아이콘)을 선택합니다.
    6. 통합 섹션에서 스크립트 단계를 선택하고 다음 필드 값을 입력합니다.
      1. 입력 변수(Input Variables) 섹션에서 변수 생성(Create Variable)을 선택합니다.
      2. 이름 필드에 table을 입력합니다.
      3. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 선택합니다 입력 > 테이블.
      4. 변수 생성을 선택하여 다른 입력 변수를 생성합니다.
      5. 이름 필드에 fields를 입력합니다.
      6. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 선택합니다 입력 > 필드.
      7. 변수 생성을 선택하여 다른 입력 변수를 생성합니다.
      8. 이름 필드에 payload를 입력합니다.
      9. 필드 옆에 있는 데이터 알약 선택기( 데이터 알약 선택기)를 선택하고 선택합니다 입력 > 동적 입력.
      10. 스크립트 필드에 다음 코드를 입력합니다.
        
        (function execute(inputs, outputs) {
            var payload = inputs.payload.referencetype; // match name from data gathering action
            var obj = JSON.parse(payload);
            var user = obj.value;
            var gr = new GlideRecord(inputs.table); // dynamic choice input
            gr.applyEncodedQuery(inputs.fields); // dynamic template input
            gr.applyEncodedQuery("caller_id=" + user); // dynamic inputs reference field
            gr.insert();
            outputs.record = gr;
            })(inputs, outputs);
      11. Output Variables(출력 변수) 섹션에서 Create Variable(변수 생성)을 선택합니다.
      12. 레이블이름 필드에 record를 입력합니다.
      13. 유형 필드에서 문서 ID를 선택합니다.
      예 4-5단계의 스크립트 단계 구성
    7. Action Outline(작업 개요)에서 Outputs(출력)를 선택합니다.
      1. Action Output(작업 출력) 헤더에서 Create Output(출력 생성)을 선택합니다.
      2. Label( 레이블)Name(이름 ) 필드에 Record Created(기록 생성됨)를 입력합니다.
      3. 유형 필드에서 문서 ID를 선택합니다.
      4. 편집 모드 종료를 선택합니다.
      5. 필드 옆에 있는 데이터 알약 선택기( Data pill picker)를 선택한 다음 스크립트 단계 > 기록.
      6단계의 출력 구성 예
    8. 작업 헤더에서 저장 을 선택한 다음, 테스트를 선택하여 작업을 테스트합니다.
      1. 테스트 작업 화면의 테이블 입력에서 동적으로 생성된 테이블 선택 옵션을 선택합니다.
        예를 들어 인시던트 테이블을 선택합니다.
      2. 필드 값 추가를 선택하고, 필드를 선택하고, 값을 입력합니다.
        예를 들어, 간단한 설명 필드를 선택하고 값 test를 입력합니다.
      3. 동적 입력 섹션과 참조 유형 입력 필드에서 참조 필드 값을 선택합니다.
        예를 들어, 사용자 Abel Tuter를 선택합니다.
      4. 테스트 실행을 선택합니다.
        주:
        Table API에서 생성하는 기록은 일반적으로 기록 생성과 관련된 데이터 정책 및 필수 필드를 바이패스합니다. 이 작업은 설명을 위한 것입니다. 기록 생성 단계 대신 표준 보호 및 확인을 사용하여 기록을 생성합니다.
      5. 작업의 실행 상세 정보를 봅니다.
        생성된 기록 출력을 사용하여 테이블필드 의 런타임 값이 입력한 테스트 값과 일치하는지 확인할 수 있습니다.
      7단계의 작업 실행 상세 정보 예시
    9. 작업 헤더에서 게시 를 선택하여 전역 범위 내의 흐름에서 이 작업을 사용할 수 있도록 합니다.

    결과

    의 플로우 워크플로우 스튜디오에 이 작업을 추가할 수 있습니다. 이 샘플 작업은 플로우 설계 중에 값을 할당할 수 있는 테이블 및 관련 필드 목록을 인스턴스에 동적으로 생성합니다.

    동적 입력에서 기록 생성 작업을 사용하는 예시 플로우