3.9 KiB
3.9 KiB
| ui_doc_type | view_id | status | frame | source_evidence | regions | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| view | builds | 구현됨 | null |
|
|
Builds
View ID: builds
Frame:
- 없음
Status: 구현됨
Source Evidence
| Type | Path | Notes |
|---|---|---|
| code | lib/src/features/builds/builds_page.dart |
BuildsPage, _JobSelected, _JobRow, _BuildRow, _InstallCta |
| docs | README.md |
Jenkins job/build/artifact 조회 scope |
| user | 없음 | agent-ui 생성 요청 |
Purpose
Jenkins job을 검색하고 build 목록에서 APK artifact를 골라 download/stage한 뒤 디바이스 설치 흐름으로 넘긴다.
Primary Users
- 특정 Jenkins build artifact를 Mac에 내려받아 Android device에 설치하려는 개발자 또는 QA 담당자
Primary Tasks
- Jenkins job을 검색하고 선택한다.
- 선택한 job의 build를 검색하고 선택한다.
- APK artifact를 다운로드하거나 설치 handoff를 시작한다.
Information Priority
- Jenkins credential/connection 상태 또는 job/build 목록
- build result, branch/flavor/requestedBy/artifact metadata
- selected build의 download/install CTA 상태
Regions
| Region ID | Purpose | Component | Priority | Notes |
|---|---|---|---|---|
builds.connection-state |
credential 없음, 재로그인, 네트워크/서버 실패, 권한 없음 상태 표시 | 없음 | high | _JobStatus, _BuildStatus |
builds.job-search |
Jenkins job 검색 입력 | job-list |
high | job-search-field |
builds.job-list |
job/folder 목록과 selection affordance | job-list |
high | _JobRow |
builds.build-search |
선택 job 안의 build 검색 입력 | build-row |
medium | build-search-field |
builds.build-list |
build row 목록과 선택 상태 표시 | build-row |
high | _BuildRow, _StateBadge |
builds.install-cta |
APK download/progress/retry/install handoff | install-cta |
high | _InstallCta |
Actions
| Action ID | Trigger | Result | Guard |
|---|---|---|---|
builds.filter-jobs |
Job 검색 입력 변경 | job list를 name/fullName/url 기준으로 필터링 | job loader loaded |
builds.select-job |
job row 클릭 | build list mode로 전환 | job 선택 가능 |
builds.back-to-jobs |
목록으로 icon button | job selector mode로 복귀 | 선택 job 있음 |
builds.filter-builds |
Build 검색 입력 변경 | build list를 metadata 기준으로 필터링 | build loader loaded |
builds.select-build |
build row 클릭 | selected build와 install CTA 표시 | APK artifact 있음 |
builds.download-artifact |
다운로드 button | artifact download/stage 진행률 표시 | downloader/stager 있음 |
builds.cancel-download |
취소 button | download를 취소 상태로 전환 | downloading |
builds.retry-download |
재시도 button | failed download를 다시 시작 | failed |
builds.request-install |
설치 button | pending install을 shell로 전달하고 devices로 이동 | staged APK 있음 |
States
- loading: job/build loader 실행 중
CircularProgressIndicator를 표시한다. - empty: 접근 가능한 job 없음, APK artifact 없음, 검색 결과 없음.
- error: Jenkins 조회 실패, download 실패, 네트워크/서버 실패.
- permission-denied: Jenkins 인증 필요, 재로그인 필요, job/build 접근 권한 없음.
Open Questions
- 없음
Decision History
- 2026-06-25: Jenkins job/build 탐색과 install CTA를
buildsview로 기록했다.