--- 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로 정의했다.