본문으로 건너뛰기

패키지 ​

UPack 패키지: 등록, 목록, 버전, 그리고 이름·버전·버전 범위로 다운로드.

이 그룹의 작업과 각 작업의 액세스 규칙, 재시도 규칙, 매개 변수, 응답입니다. 모든 요청에는 키가 포함됩니다: Authorization: Bearer <키>(“인증” 참조).

작업 ​

패키지 버전 목록 ​

GET HEAD /api/v1/repositories/{repository}/packages

액세스: 리포지토리 권한: package.read; 파일 키: read · 재시도: 반복해도 안전함(읽기)

등록된 UPack 버전을 매니페스트와 함께 나열하며, group과 name(대소문자를 무시하고 정확히 일치)으로 필터링합니다. group=처럼 값을 비우면 루트 그룹을 선택하고, 생략하면 모든 그룹을 선택합니다. sort(group, name, version), direction(asc, desc), groupBy(none, group, package이며, 페이지의 artifactIds를 나열하는 groups를 추가함)가 결과의 형태를 정합니다. 페이지는 limit개 항목(1–100, 기본 50)으로 구성되며 같은 필터와 함께 after에 next 값을 넣어 이어서 조회합니다. 페이지는 스냅샷이 아니므로 그 사이에 등록된 버전은 다음 순회까지 누락될 수 있습니다.

매개 변수

이름위치형식필수규칙
repository경로string예^[a-z0-9][a-z0-9_-]{0,63}$ 패턴과 일치
group쿼리string아니요—
name쿼리string아니요—
sort쿼리string아니요group, name, version 중 하나
direction쿼리string아니요asc, desc 중 하나
groupBy쿼리string아니요none, group, package 중 하나
after쿼리string아니요—
limit쿼리integer아니요1–100

응답 200

필드형식필수규칙
itemsobject 배열예—
items[].groupstring아니요—
items[].namestring아니요—
items[].versionstring아니요—
items[].artifactIdstring (uuid)아니요—
items[].manifestobject아니요—
nextstring예null일 수 있음
groupsobject 배열예—
groups[].groupstring예—
groups[].namestring예null일 수 있음
groups[].artifactIdsstring (uuid) 배열예—

응답: 200, 400, 401, 403, 404, 409, 422, 503, 507

예제

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/packages" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

이름과 버전으로 패키지 다운로드 ​

GET HEAD /api/v1/repositories/{repository}/packages/content

액세스: 리포지토리 권한: content.read; 파일 키: read · 재시도: 반복해도 안전함(읽기)

group(기본은 루트 그룹) 안의 name에 해당하는 등록된 버전 하나를 확인하고 downloadArtifact와 같은 방식으로 스트리밍하며, X-Arkvory-Artifact-Id와 X-Arkvory-Package-Version 헤더가 선택된 결과를 알려 줍니다. 정확한 version 또는 SemVer range(예: ^1.4, >=1.0.0 <2.0.0)로 선택하고, stage를 지정하면 해당 스테이지가 있는 버전만 대상으로 합니다. 둘 다 없으면 가장 높은 안정 버전을 선택하며, prerelease=true는 프리릴리스를 포함하고 order=promoted는 stage가 가장 최근에 부여된 버전을 선택합니다. 이름은 요청마다 새로 확인되므로 반환된 ETag를 If-Range에 지정해 재개하거나 아티팩트 ID로 다운로드해야 하며, resolvePackage는 바이트 없이 같은 선택을 제공합니다.

매개 변수

이름위치형식필수규칙
repository경로string예^[a-z0-9][a-z0-9_-]{0,63}$ 패턴과 일치
Range헤더string아니요Single bytes range; multi-range is unsupported. HEAD ignores Range.
If-Range헤더string아니요Exact strong ETag; a mismatch causes a full response.
If-None-Match헤더string아니요Matching ETag returns 304, including HEAD.
Arkvory-Download-Id헤더string아니요^[A-Za-z0-9_-]{16,64}$ 패턴과 일치; The client own id of one download, the same on every range of it: the queue keys the session by it instead of the client address, answers a waiting request at once with 503 download_queued, and may ask it to yield its place at a range boundary. Without it, a waiting request is held until its turn for a bounded time.
Arkvory-Queue-Ticket헤더string아니요80자 이하; The last Arkvory-Queue-Ticket the server sent for this download: after a server restart the download takes its old turn. A ticket that is wrong, expired or of another download is ignored.
Arkvory-Download-Class헤더string아니요interactive, release, bulk, background 중 하나; Queue class of the download. Only a class lower than the caller own one applies (people: interactive, services and links: release); an unknown value is 400. The response names the class applied.
group쿼리string아니요128자 이하
name쿼리string예1–128자
version쿼리string아니요128자 이하; Exact version; excludes range.
range쿼리string아니요256자 이하; SemVer range: 1.2.3, ^1.2, ~1.2.3, 1.x, >=1.0.0 <2.0.0, a || b.
stage쿼리string아니요^[a-z0-9][a-z0-9_.-]{0,31}$ 패턴과 일치; Only versions promoted to this stage.
prerelease쿼리string아니요true, false 중 하나; Include prereleases.
order쿼리string아니요version, promoted 중 하나; promoted picks the most recently staged version and requires stage.

응답: 200, 206, 304, 400, 401, 403, 404, 409, 416, 422, 503, 507

예제

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/packages/content?name=$NAME" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -o file

Arkvory · ProAnimaStudio