- 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
50 lines
2.6 KiB
Markdown
50 lines
2.6 KiB
Markdown
# 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).
|
|
|