2.0 KiB
2.0 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |
|---|---|---|---|---|---|---|---|
| 22-task-work-item-links | Task work-item associations | completed | 11 |
|
plan.md | ../../specs/azure-devops-integration/spec.md |
Task 22: Task Work-Item Associations
Acceptance
- A workspace-authorized service validates an Azure work item before persisting the unique task/workspace/project/item association and returns associations grouped for browse/detail lookup.
- Task deletion and workspace deletion remove associations; restart preserves them.
- The mock and frontend API/store shapes can immediately cache a newly created association without a page reload.
Verification
make -C apps/backend test.pnpm --filter @kandev/web test -- --run hooks/domains/azure-devops/use-azure-devops-task-work-items.test.tsxfromapps.
Files Likely Touched
apps/backend/internal/azuredevops/models.goapps/backend/internal/azuredevops/store.goapps/backend/internal/azuredevops/store_task_work_item.goapps/backend/internal/azuredevops/service_task_work_item.goapps/backend/internal/azuredevops/service_task_work_item_test.goapps/backend/internal/azuredevops/controller.goapps/backend/internal/azuredevops/lifecycle.goapps/web/lib/types/azure-devops.tsapps/web/lib/api/domains/azure-devops-api.tsapps/web/hooks/domains/azure-devops/use-azure-devops-task-work-items.tsapps/web/hooks/domains/azure-devops/use-azure-devops-task-work-items.test.tsx
Dependencies
Task 20.
Parallelism
Sequential. It introduces persistence and lifecycle ownership.
Inputs
- Spec:
azure_devops_task_work_items, API, permissions, task creation scenario. - Existing
store_task_pr.go,service_task_pr.go, and task-PR frontend cache.
Risks
- Revalidate workspace/project/item identity server-side; a browser-provided URL is a hint, not an authorization or canonical identity.
Output Contract
Report schema/lifecycle behavior, RED/GREEN commands, files changed, migration result, risks, and update task/plan status.