HowTo 2026

2026 OpenClaw MeshMac 실전: Google Chat 스페이스 Webhook으로 다중 노드 빌드 상태 브로드캐스트

2026.04.08 Meshmac R&D Team 7분 읽기

게이트웨이만 Chat 웹훅을 호출하고 text JSON·mesh_node_id·provider_run_id로 멱등합니다. Teams·Matrix는 같은 큐에 URL·카드만 교체합니다. 명령·코드·표는 재현용, 서술은 약 800–1500자 분량으로 압축했습니다.

클러스터 설치·동기화로 게이트웨이를 두고 공유 큐로 이벤트만 보냅니다. Chat·Teams·Matrix POST는 게이트웨이만.

게이트웨이 설치와 토큰

단일 호스트·OPENCLAW_CONFIG_ROOT·doctor로 환경 고정. Chat URL 파일 0440·알림 그룹 전용.

체크포인트 A — 파일 권한

sudo install -d -m 0750 -o root -g openclaw-notify /etc/openclaw/secrets.d/google-chat
sudo sh -c 'umask 077; cat > /etc/openclaw/secrets.d/google-chat/build-status.url' <<'EOF'
https://chat.googleapis.com/v1/spaces/SPACE/messages?key=KEY&token=TOKEN
EOF
sudo chown root:openclaw-notify /etc/openclaw/secrets.d/google-chat/build-status.url
sudo chmod 0440 /etc/openclaw/secrets.d/google-chat/build-status.url

URL 치환, 노드 직통 POST 금지.

Google Chat Incoming Webhook 설정

웹훅 URL=베어러, 스페이스는 환경별 분리. HTTPS_PROXY 동일로 chat.googleapis.com TLS 확인. 차단 시 승인 앱·스크립트 우회, 송신은 게이트웨이만.

체크포인트 B — 도달성

export HTTPS_PROXY="${HTTPS_PROXY:-}"
curl -sS -o /dev/null -w "%{http_code}\n" -I "https://chat.googleapis.com/"

404류여도 TLS·프록시 403부터 해결.

메시지 페이로드 템플릿

JSON text로 먼저 검증, 카드는 이후.

export CHAT_URL="$(sudo cat /etc/openclaw/secrets.d/google-chat/build-status.url)"
curl -sS -X POST "$CHAT_URL" \
  -H 'Content-Type: application/json; charset=UTF-8' \
  -d '{"text":"MeshMac 게이트웨이 프로브: OK ('"$(hostname -s)"')"}'

체크포인트 C: 수 초 내 프로브 표시. 운영 한 줄에 state·노드·커밋·run_url. Teams=카드·Office 호스트.

다중 노드 상태 집계 예시

빌더→버스→게이트웨이가 text 한 줄로 Chat POST.

용도
workflow ios-release 제목 접두
state succeeded / failed 이모지·라벨
mesh_node_id mm-pool-2 푸터 Mac 식별
provider_run_id 18451203 멱등 키(+state)

예시 한 줄:

✅ ios-release · main · abc1234 · <https://github.com/org/repo/actions/runs/18451203> · node mm-pool-2

provider_run_id+state 멱등 창(24–72h). 큐 규율은 태스크 큐·재시도.

인증·재시도 FAQ

URL·재시도·중복
URL은 HTTPS 비밀(OAuth 아님). 429·5xx만 재시도, 400·401 수정 후, 404=폐기. 중복: provider_run_id+state.
빌더 직통 POST?
금지. 게이트웨이 단일 송신.

플랜·노드 구성을 고른 뒤 Chat 스페이스 하나에만 모으세요

플랜·패키지·도움말··블로그는 로그인 없이 열람합니다. 노드 수는 큐 깊이에 맞추세요.