HowTo 2026

2026 OpenClaw MeshMac 실전: Asana Webhook으로 다중 노드 빌드 브로드캐스트·실패 요약 회신

2026.04.11 Meshmac R&D Team 8분 읽기

Asana 이벤트를 게이트웨이 한 곳에서 핸드셰이크·서명 후 공유 큐·MeshMac 노드로 빌드하고, 채널 브로드캐스트와 태스크 스토리에 실패 요약까지 묶는 최소 단계입니다. 표·단계·401·429 FAQ로 바로 재현하며 운영 체크리스트까지 포함합니다.

PAT·웹훅 URL이 노드마다 흩어지면 회전·감사가 어렵고 실패 요약이 Asana에 남지 않습니다. 표는 Mesh 게이트웨이노드별 URL 선택을 압축합니다.

항목 게이트웨이·Mesh 노드별 웹훅
시크릿·PAT 한 파일·한 프로세스 복제·누설↑
확장 큐·워커만 콘솔 재등록
브로드캐스트 동일 JSON 메시지 파편

인그레스 단일화는 공유 빌드 웹훅 알림, 상한은 rate limit·동시성, 순서·재시도는 태스크 큐와 같이 보세요.

Asana 아웃바운드 웹훅

  1. 리소스 gidchanged 필터로 빌드 트리거를 좁힙니다.
  2. Target URLhttps://게이트웨이/hooks/asana 한 줄로 고정합니다.
  3. 핸드셰이크X-Hook-Secret를 규격대로 되돌리고 200을 맞춥니다.
  4. 수신 직후 durable enqueue 뒤 빠른 응답으로 재전송을 흡수합니다.

X-Hook-Signature 서명 검증

  1. 시크릿0440 파일만 사용하고 로그에 남기지 않습니다.
  2. 원문 바이트HMAC-SHA256X-Hook-Signature와 상수 시간 비교, 그다음 JSON 파싱.
  3. 실패는 401, 성공은 큐 적재 뒤 200입니다.
  4. 멱등 키는 resource.gid+action+분처럼 짧게 잡습니다.

OpenClaw 게이트웨이 라우팅

  1. OpenClaw에서 /hooks/asana만 분리해 시크릿을 섞지 않습니다.
  2. 페이로드를 task_gid project_gid 등 내부 스키마로 정규화합니다.
  3. 워커가 빌드한 뒤 동일 게이트웨이가 채널 브로드캐스트와 Asana REST를 담당합니다.
  4. 큐 불가 시 503로 재시도를 유도하고 상한으로 루프를 끊습니다.

다중 노드 알림 템플릿

채팅 JSON은 팀 규약으로 고정해 노드가 바뀌어도 동일 레이아웃을 유지합니다.

  • 필수 task_name build_status mesh_node_id log_tail, 실패에만 exit_code.
  • 성공은 채널만, 실패는 게이트웨이 PAT로 /tasks/{gid}/stories 한 줄 요약.

출발값 본문 상한 1MB 전후 핸드셰이크 10초 이내 로그 꼬리 240자 이내.

401·429 FAQ

REST 401
PAT 스코프·만료·캐시된 키를 의심하고 게이트웨이만 재발급합니다.
연속 429
인바운드와 REST를 버킷 분리하고 Retry-After 지터 백오프, 코멘트 배치를 줄입니다.
운영만 서명 실패
WAF·JSON 선파싱을 끄고 원시 바디로 HMAC을 계산합니다.

한 줄 정리

핸드셰이크·HMAC·라우팅·템플릿·PAT 단일화면 확장 시 Asana를 다시 묶는 일이 줄어듭니다.

MeshMac 풀을 맞춘 뒤 Asana 웹훅은 한 벌만 유지하세요

노드를 늘릴수록 게이트웨이·큐·템플릿을 고정하세요. 플랜·패키지에서 구매하고 도움말·블로그·으로 이어 가면 됩니다.