79 lines
2.4 KiB
Markdown
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로 정의했다.
|