JavaScript
Last updated
Last updated
Function 테스크를 선택하여 원하는 방식으로 데이터를 처리할 수 있습니다. 다른 테스크와 마찬가지로 테스크 결과값을 활용하거나 함수에 따라 처리된 새로운 테스크 결과값을 만들 수 있습니다. 함수 테스크를 이용하면, 아래와 같은 작업이 가능합니다.
Merge : 테스크 결과값들을 Merge하여 다음 테스크에 필요한 결과값을 생성합니다.
Function : 함수 기능을 사용하여 결과값을 변형할 수 있습니다.
Filter
Custom logic
Function 테스크는 아래와 같이 활용할 수 있습니다.
이전 Task의 결과값을 연산하여 새로운 값을 만들거나,
이전 Task의 결과값이 특정 조건과 일치하는 지를 검사합니다.
Javascript 작성시 return 등을 사용하여 값(output data)을 반환하도록 해주세요.
자바스크립트 테스크는 변수값 활용 문법이 다른 테스크들과 상이합니다. 전체 스크립트를 JavaScript로 실행시키기 때문에 {{}}문법이 필요하지 않습니다. 예를들어, a 테스크의 결과값을 자바스크립트 테스크에서 활용할시에는 {{a.name}} 이 아닌 a.name으로 접근해야 합니다.
변수값(참조값) 설정 방법은 여기를 참조하세요.
아래 예시에서는 Task A 변수값이 아래와 같다는 가정 하에,
[{"id": "C7", "amount": 200}, {"id": "D9", "amount": 120}, { "id": "G3", "amount": 233}]
Task A의 결과값 중에서 'amount'를 활용하여
Function Task인 Task B를 설계하고, 설계에 따른 변수값을 확인해보겠습니다.
이전 Task의 결과값 연산 : Record별 amount x 1100의 값 계산
{{a.amount}} * 1100
Task B 변수값: [220000, 132000, 256300]
{{ }} 내부에 표현식을 중첩하는 것은 안됩니다. 예: {{a.amount*1100}}
이전 Task의 변수값을 연산 후 조건 검사 : 각 Record별 amount x 1100의 값이 200,000보다 크면 True
, 작으면 False
반환
({{a.amount}} * 1100) > 10,000
Task B 변수값: [true, false, true]
아래는 샘플코드입니다.
이전 테스크의 결과값을 파싱하거나 병합할 수 있습니다. 상황에 맞게 참조용으로 사용하세요.
(예1) 테스크의 결과값이 아래와 같이 이차원 배열로 넘어온 경우에는 아래와 같이 Javascript 를 다음 테스크로 추가합니다.
(예2) 두개의 테스크 결과값을 비교하여 일치하는 경우에만 다음 테스크로 보내는 경우입니다.
데이터베이스와 구글시트의 데이터를 비교한 후 일치하는 경우만 다음 테스크(구글시트 삽입)로 보내는 Javascript task 예시코드입니다.
PostgreSQL 데이터 불러오기
구글시트 데이터 불러오기
[Javascript task] JS 를 이용해서 PostgreSQL 에는 있고 구글시트에는 없는 ID 찾기
JS 결과 구글시트에 인서트
구글시트, 노션, DB 등에서 넘어온 데이터 중 특정 조건을 만족하는 레코드의 갯수를 슬랙으로 반환하는 자바스크립트 예시
전체 데이터를 읽어와서 그 중에사 '일정조율' 이라고 표시된 레코드의 전체 숫자를 {{b}}
로 내려줍니다.
아래의 자바스크립트를 복사해서 수정해보세요.