nomadcode/agent-test/plane-dev.md
toki 210f67bd9a feat: complete G07 trigger dispatch and refactor webhook handling
- Move G07 task artifacts to archive (plan, code review, complete.log)
- Refactor main.go to use new webhook router
- Update plane webhook handlers with improved error handling
- Add config for Plane webhook integration
- Update docker-compose for webhook testing
- Update plane-dev test documentation
2026-06-15 14:46:20 +09:00

2.6 KiB

Plane Dev Test Fixtures

이 문서는 dev Plane 연동 테스트에서 반복 사용하는 non-secret 식별자를 기록한다. API token, webhook secret, password 같은 secret 원문은 이 파일에 쓰지 않는다.

NomadCode Project

  • Plane base URL: https://plane.toki-labs.com
  • Workspace slug: general
  • Workspace id: dadf050e-cd1e-4590-bc33-672511630841
  • Project id: a6beb42f-7a8a-410c-b50f-ea3ca94828f3
  • Project identifier: NOMAD

State IDs

  • Backlog: 62d4c50c-0cea-4a76-a0ed-ec97498b2d5f
  • Todo: 45ba7449-f684-4381-af6d-5854747c5e8d
  • In Progress: c6ac1a6b-74d5-47fb-8b36-646d2bf0284d
  • User Review: dc4fb920-f763-4ae3-9569-3c5e2d500391
  • Done: ea2e5b48-8bf1-4723-b749-de7723be41e9
  • Cancelled: f29c06c2-d70c-4b56-a83c-fccc4db60ae4

Users

  • AGENT assignee user id: 5d116a77-d3df-4f54-80bf-eca61e0118c4

Webhook Dispatch Env (non-secret)

webhook dispatch trigger gate에 주입하는 non-secret env. secret(PLANE_WEBHOOK_SECRET, PLANE_TOKEN)은 여기에 쓰지 않는다.

  • PLANE_WORKSPACE_SLUG: general (webhook payload는 workspace UUID만 주므로 ref tenant slug는 이 값으로 주입한다)
  • PLANE_WORKSPACE_ID: dadf050e-cd1e-4590-bc33-672511630841 (optional guard; payload workspace id와 다르면 dispatch 없이 ignored)
  • PLANE_CREATION_BACKLOG_STATE_ID (alias PLANE_BACKLOG_STATE_ID): 62d4c50c-0cea-4a76-a0ed-ec97498b2d5f
  • PLANE_AGENT_ASSIGNEE_ID: 5d116a77-d3df-4f54-80bf-eca61e0118c4
  • PLANE_SELF_ACTOR_ID: NomadCode self actor id가 정해지면 채운다. 비어 있으면 self-mutation guard는 no-op이다.

Webhook Smoke Baseline

  • Webhook URL: http://toki-labs.com:18010/api/integrations/plane/webhook
  • Webhook secret storage: SOPS encrypted secrets/nomadcode.dev.sops.yaml key PLANE_WEBHOOK_SECRET
  • 2026-06-14 webhook-only smoke used existing Backlog items NOMAD-10 and NOMAD-11 by assigning AGENT.

Webhook Payload Fixtures

services/core/internal/http/testdata/ 아래 fixture로 payload shape를 고정한다. 모든 fixture는 PII/secret redaction 상태이며 work item id는 placeholder다.

  • plane_webhook_issue_assignees_updated.json: live dev Plane assignee-update 로그 기반 redacted 샘플 (event=issue, action=updated, activity.field=assignees).
  • plane_webhook_issue_created.json: create 후보. live create 로그를 따로 확보하지 않아 관찰된 issue envelope 기반 synthetic candidate다 (event=issue, action=created, Backlog state).
  • plane_webhook_issue_state_updated.json: state-change 후보. synthetic candidate다 (event=issue, action=updated, activity.field=state, Backlog -> Todo).