oto/agent-ui/definition/components/job-create-form/index.md

79 lines
2.4 KiB
Markdown

---
ui_doc_type: component
component_id: job-create-form
status: 구현됨
source_evidence:
- type: code
path: packages/flutter/oto_console/lib/src/oto_jobs_surface.dart
notes: "_buildJobCreateForm 구현"
- type: code
path: packages/flutter/oto_console/lib/src/oto_console_contract.dart
notes: "OtoJobCreateDraft validation"
- type: docs
path: agent-roadmap/sdd/control-plane-product-surface/control-plane-security-audit-surface/SDD.md
notes: "create-job write action audit 후보"
---
# Job Create Form
Component ID: `job-create-form`
Status: `구현됨`
## Source Evidence
| Type | Path | Notes |
|------|------|-------|
| code | `packages/flutter/oto_console/lib/src/oto_jobs_surface.dart` | `_buildJobCreateForm` 구현 |
| code | `packages/flutter/oto_console/lib/src/oto_console_contract.dart` | `OtoJobCreateDraft` validation |
| docs | `agent-roadmap/sdd/control-plane-product-surface/control-plane-security-audit-surface/SDD.md` | create-job write action audit 후보 |
## Purpose
operator가 job id와 job name으로 새 pipeline/job record 생성을 요청하게 한다.
## Used By
- `pipelines`: `pipelines.create-job-form`
## Anatomy
- Job ID field
- Job Name field
- Create button
- submitting spinner
- action feedback
## Jenkins Reference Alignment
- Jenkins New Item flow를 러프 참조로 삼되, 현재 OTO는 job id/name만 받는 얇은 create form으로 유지한다.
- item type 선택, folder, multibranch, SCM 연결은 현재 범위 밖이며 후속 pipeline authoring 후보로 둔다.
- create 결과는 Jenkins item creation처럼 즉시 목록과 execution navigation에 반영되는 흐름을 목표로 한다.
## Target Layout Delta
- create form은 pipelines list 상단에 항상 넓게 노출되는 구조보다 compact create panel/action slot을 목표로 둔다.
- submit feedback은 list context를 밀어내지 않도록 action-feedback pattern에 맞춘다.
- 현재 form은 compact create flow 반영이 완료되어 `구현됨` 상태다.
## Variants
- enabled: id/name이 모두 있고 not submitting
- disabled: 입력 부족 또는 submitting
## States
- default
- editing
- submitting
- disabled
- result-visible
## Rules
- id와 name이 비어 있으면 submit할 수 없다.
- create 실패 message는 민감 payload 노출 여부를 확인한다.
## Decision History
- 2026-06-24: jobs surface의 create form을 `job-create-form` component로 정의했다.