2017-03-17 13 views
0

저의 목표는 Basecamp 3의 여러 프로젝트에서 매주 자동으로해야할 일을 만드는 것입니다.Zapier의 코드를 사용하여 상호 참조 데이터 스트림을 얻을 수 있습니까? 특히 2 개의 다른 데이터 스트림에서 GSheets의 행을 생성 하시겠습니까?

이렇게하려면 Google 스프레드 시트에서 여러 행을 생성하는 Zapier의 일정 앱을 사용하고 있습니다. 그런 다음이 행은 Basecamp 3의 특정 프로젝트에서 할일 작성을 트리거합니다.이 행의 입력은 프로젝트 이름 (검색 단계에 사용됨), 할 일 텍스트 여야합니다.

저는 이것을 시도하고 달성하기 위해 Zapier의 Formatter App을 사용하고 있습니다. 첫 번째 Formatter 작업에서 프로젝트의 모든 이름을 쉼표로 사용하여 텍스트를 분할하고 모든 세그먼트를 반환합니다. 두 번째 포매터에서 모든 할 일 텍스트의 텍스트를 분할하고 다시 모든 세그먼트를 반환합니다.

포맷터 1 입력 (프로젝트) : AA, BB, CC, DD

포맷터 2 입력 (할 일의 텍스트) : 수정, 그것을 깰 그것을 사용, 구입이

자, 첨부 된 다이어그램에서 달성하고자하는 목표가 나와 있습니다. 또한 zap (있는 그대로)이 데이터로 달성하고있는 것을 보여줍니다. Data Stream Diagrams

우리는 파라 메트릭 모델링 및 데이터 드라이브 디자인에 사용되는 Rhino 3D 플러그인 인 Grasshopper를 사용하여 자주 작업합니다. 메뚜기에서는 이것을 "상호 참조"데이터 스트림이라고합니다. 이것이 Zapier에서 코드를 사용하여 달성 할 수 있습니까? 그렇다면 약간의 도움을받을 수 있습니까?

감사합니다.

Zapier 써 GIF는 : https://drive.google.com/open?id=0B85_sQemABgmQVd6MENRd0NsNGc

답변

0

나는 귀하의 Google 드라이브 링크를 볼 수있는 권한이 없습니다,하지만 난 당신이 뭘하려는 건지의 요점을 얻을 생각합니다.

Formatter를 사용하는 대신 리턴되는 것을보다 잘 제어 할 수 있으므로 Python을 사용하는 것이 좋습니다. 파이썬의 itertools.product을 사용하면 두 목록의 모든 조합을 얻을 수 있습니다.

# zapier runs in a vanilla python environment 
# so you can import standard packages 
import itertools 

letters = ['AA', 'BB', 'CC', 'DD'] 
actions = ['buy it', 'use it', 'break it', 'fix it'] 

combos = list(itertools.product(letters, actions)) 
# [('AA', 'buy it'), ('AA', 'use it'), ... ('DD', 'fix it')] 

거기에서, 당신은 당신의 작업 단계는 아마도 [{'code': c[0], 'action': c[1]} for c in combos]와 같은 지능형리스트를 통해 (기대로 그 목록을 포맷하고 코드 단계에서 목록을 반환 할 수 있습니다.

Zapier의 숨겨진 기능 배열이 코드 단계에서 반환되면 zap은 각 배열 요소에 대한 작업을 실행합니다. 즉, zap에 대한 각 입력에 대해 출력이 16x로 실행된다는 것을 의미합니다 제한).

잘하면 당신을 올바른 길로 인도합니다. 어떤 일이 불분명한지 알려주세요.

+0

고마워요! 예, 죄송합니다. 통지를 받았습니다. 나는 그것을 이미 공개했다. 죄송합니다. @xavdiv, 저는 Python으로 프로그래밍 한 적이 없습니다. 생각의 논리를 이해할 수는 있지만 생각해 봅시다. 어떻게 Zapier에서 이것을 달성 할 수 있을까요? 나는 zap의 Input Data 섹션에 무엇이 들어갈 지 확신하지 못합니다. 그리고이 목록을 어떻게 포맷 할 수 있습니까? 동일한 코드 단계에서 수행해야합니까? 다시 한번 감사드립니다. –

+0

코드가 다음과 같이 표시되어야합니까? 이 문자 = [ 'AA', 'BB', 'CC가', 'DD'] 액션 = [ '그것을 깰', '사용', '구입', '그것을 해결 '수입 itertools '] 콤보 = 목록 (itertools.product (문자, 행동)) 반환 = list' –

+0

네! 당신은 파이썬 코드 단계에 넣을 수 있습니다 (그래서 트리거, 코드, 구글 시트가있을 것입니다). 시트 작업은 매주 16 번 실행됩니다. 작업 사용 내역에 꼭 맞는지 확인하십시오! – xavdid