구조체 속성을 입력받는 액션
구조체(Struct) 속성은 여러 이름과 자료형을 가진 필드를 하나의 속성으로 묶습니다. 액션에서 구조체 속성을 생성하거나 수정하려면 기본 자료형이 STRUCT인 구조체 매개변수로 값을 전달합니다. 구조체 속성의 저장과 모델링은 구조체 개요에서 다룹니다.
가상의 Create Ticket 액션에 Resolution 매개변수를 추가했다고 가정합니다. 내부의 summary, resolutionTime, owner 필드가 티켓의 해결 내용을 함께 받습니다.
매개변수 필드와 속성 매핑
구조체 속성에 값을 제공하는 STRUCT 매개변수의 필드는 다음 기본 자료형을 지원합니다.
BOOLEAN, DATE, DOUBLE, GEOPOINT, INTEGER, LONG, STRING, TIMESTAMP
구조체 속성에 저장할 수 있는 모든 자료형이 이 입력 필드에서도 지원되는 것은 아닙니다. 속성의 필드와 액션 입력의 필드가 서로 같은 기본 자료형인지 확인해야 합니다.
Ticket의 Resolution 속성을 설정할 때는 속성의 각 필드를 한 구조체 매개변수의 필드에 매핑합니다. 속성에 있는 모든 필드를 매핑해야 하며, 한 속성의 값을 여러 구조체 매개변수에서 나누어 가져올 수 없습니다. 규칙의 직접 입력으로 정적 값이나 객체 속성 참조를 사용할 수도 없습니다.
구조체 속성에서 필드를 추가하거나 삭제하거나 기본 자료형을 바꾸면 관련 액션 유형도 함께 수정해야 합니다. 기존 매핑이 완전하고 자료형이 일치한다는 조건이 깨지기 때문입니다.
액션 폼은 구조체의 필드를 하나의 그룹으로 표시합니다. 사용자는 그 그룹 안에서 각 값을 입력합니다.
기존 객체의 값으로 기본값 채우기
구조체 입력에 기본값을 사용하려면 모든 필드의 기본값을 구성해야 합니다. 각 기본값은 한 객체 유형의 동일한 구조체 속성에 있는 필드를 참조해야 합니다. 서로 다른 구조체 속성의 필드를 섞거나 정적 값을 기본값으로 넣을 수 없습니다.
- 기본값을 가져올 객체 유형을
ObjectReference매개변수로 지정합니다. - 구조체 매개변수의 모든 필드를 그 객체 유형에 있는 한 구조체 속성의 필드와 매핑합니다.
- 액션을 제출할 때 해당 유형의 실제 객체를 참조 입력으로 전달합니다. 그 객체의 구조체 필드 값이 대응하는 입력을 채웁니다.
필드별 제약과 제출
각 필드에 일반 매개변수처럼 제약을 설정할 수 있습니다. 예를 들어 summary의 문자열 길이를 최소 10자, 최대 500자로 제한할 수 있습니다.
구조체 값이 유효하려면 모든 필드가 각각 설정된 제약을 충족해야 합니다. summary가 10자보다 짧으면 다른 필드가 유효해도 제출할 수 없습니다.
필드별 입력 제약과 값 유형(Value type)의 제약은 구분해야 합니다. 구조체 매개변수와 그 필드에는 값 유형의 제약을 적용할 수 없습니다.
속성 설정의 제한
구조체 매개변수의 필드를 개별적으로 꺼내 비구조체 속성을 설정할 수 없습니다.