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