이 페이지는 공개 계약에서 생성하며 설명은 원문(한국어) 그대로 표시합니다.
stly repositories create#
Repository 생성
- HTTP 요청:
POST /api/repositories - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 예
- 입력 JSON(
--input) 필수
입력 JSON 구조는 stly schema repositories create로 확인합니다.
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--input | string | 예 | JSON 원문 파일 또는 stdin(-) |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: id, handle, name, git_url, summary, description, created_at, updated_at, external_identity |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly repositories create --input input.jsonstly repositories delete#
Repository 삭제
- HTTP 요청:
DELETE /api/repositories/{id} - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 예
--if-match필수
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--if-match | string | 예 | 상세 GET에서 얻은 단일 strong ETag |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly repositories delete 00000000-0000-0000-0000-000000000001 --if-match '"상세 GET의 ETag"'stly repositories edit#
Repository Metadata 지정 필드 수정(GET 후 PUT)
- HTTP 요청:
PUT /api/repositories/{id} - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 예
- 입력 JSON(
--input) 필수
입력 JSON 구조는 stly schema repositories edit로 확인합니다.
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--input | string | 예 | JSON 원문 파일 또는 stdin(-) |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: id, handle, name, git_url, summary, description, created_at, updated_at, external_identity |
--if-match | string | 아니요 | external_identity 지정 시 필수 기준 strong ETag. Metadata만 수정하면 선택 |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
동작
- 상세 GET 1회로 현재 수정 가능 필드·연결 집합과 strong ETag 조회
- 선택 --if-match와 GET ETag가 다르면 쓰기 전 중단. 생략 시 실행 직전 GET 이후 변경만 보호하며 과거 조회 시점은 보호하지 않음
- 지정 필드·ID만 변경하고 나머지는 보존한 전체 PUT 1회. 연결 추가·제거의 no-op은 PUT 생략
- 412·쓰기 결과 불명 후 자동 재조회·재전송 없음. 성공 후 새 ETag를 위한 자동 GET 없음
- dry-run은 HTTP·설정·credential 접근 없이 계획만 표시하며 현재 값·최종 본문·권한·no-op 여부는 미확인
- external_identity는 객체로 연결/교체, null로 해제. 지정 시 기준 --if-match 필수. 생략은 서버에서 보존하며 GET 값을 PUT에 복사하지 않음
예시
stly repositories edit 00000000-0000-0000-0000-000000000001 --input input.jsonstly repositories get#
Repository 상세 조회
- HTTP 요청:
GET /api/repositories/{id} - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 아니요
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: id, handle, name, git_url, summary, description, created_at, updated_at, external_identity |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly repositories get 00000000-0000-0000-0000-000000000001stly repositories list#
Repository 목록 조회
- HTTP 요청:
GET /api/repositories - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 아니요
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: id, handle, name, git_url, summary, description, created_at, updated_at, external_identity |
--handle | string | 아니요 | Web 주소 이름 정확 일치 필터. 앞뒤 공백 제거·소문자 정규화 후 비교하며 결과는 최대 1건 |
--page | string | 아니요 | 1 이상 정수. page·per-page 중 하나라도 있으면 페이지 모드 |
--per-page | string | 아니요 | 1~500 정수, 생략 시 100 |
--q | string | 아니요 | name·summary·description 필드 중 하나의 대소문자 구분 리터럴 부분 일치 검색. 본문은 검색하지 않으며 정규식·와일드카드를 지원하지 않습니다 |
--sort | string | 아니요 | 리소스 기본 필드명 또는 - 접두 역순만 허용 |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly repositories list --q "검색어"stly repositories lookup#
외부 식별자로 Repository 동일성 조회
- HTTP 요청:
GET /api/repositories/lookup - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 아니요
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--external-id | string | 예 | 외부 숫자형 Repository ID의 십진 문자열(lookup 필수) |
--instance | string | 예 | 외부 서비스의 HTTPS Web base URL(lookup 필수) |
--provider | string | 예 | 외부 서비스 gitlab·github(lookup 필수) |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: id, handle, name, git_url, summary, description, created_at, updated_at, external_identity |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
동작
- 현재 Organization에서 provider·instance·external_id로 단건 ID·Metadata·ETag 조회. 미연결은 404
- 이름·URL로 추정하거나 자동 create/update하지 않음. 외부 원본에 접속하지 않음
예시
stly repositories lookup --provider gitlab --instance https://git.example.com --external-id 12345stly repositories services#
Repository의 연결 Service 목록
- HTTP 요청:
GET /api/repositories/{id}/services - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 아니요
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: created_at, description, handle, id, name, status, summary, updated_at |
--page | string | 아니요 | 1 이상 정수. page·per-page 중 하나라도 있으면 페이지 모드 |
--per-page | string | 아니요 | 1~500 정수, 생략 시 100 |
--q | string | 아니요 | name 필드의 대소문자 구분 리터럴 부분 일치 검색. summary·description·본문은 검색하지 않으며 정규식·와일드카드를 지원하지 않습니다 |
--sort | string | 아니요 | 리소스 기본 필드명 또는 - 접두 역순만 허용 |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly repositories services 00000000-0000-0000-0000-000000000001 --q "검색어"stly repositories update#
Repository 수정
- HTTP 요청:
PUT /api/repositories/{id} - 인증 모드: Agent 토큰, User 세션
- 기록 변경: 예
- 입력 JSON(
--input) 필수 --if-match필수
입력 JSON 구조는 stly schema repositories update로 확인합니다.
인수
id: ID
옵션
| 이름 | 타입 | 필수 | 설명 |
|---|---|---|---|
--if-match | string | 예 | 상세 GET에서 얻은 단일 strong ETag |
--input | string | 예 | JSON 원문 파일 또는 stdin(-) |
--fields | string | 아니요 | 응답 최상위 필드, 쉼표로 구분 값: id, handle, name, git_url, summary, description, created_at, updated_at, external_identity |
공통 옵션: --server, --env-file, --timeout, --auth-mode, --dry-run
예시
stly repositories update 00000000-0000-0000-0000-000000000001 --input input.json --if-match '"상세 GET의 ETag"'