Pular para o conteúdo

Pacotes ​

Pacotes UPack: registro, listagem, versões e downloads por nome, versão ou intervalo.

Operações deste grupo com a regra de acesso, a regra de repetição, os parâmetros e as respostas. Toda solicitação leva uma chave: Authorization: Bearer <chave> (consulte “Autenticação”).

Operações ​

Listar versões de pacotes ​

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

Acesso: Permissão no repositório: package.read; chaves em arquivo: read · Repetição: Pode ser repetida com segurança (leitura)

Lista as versões UPack registradas com seus manifestos, filtradas por group e name (exatos, sem distinção entre maiúsculas e minúsculas; group= com valor vazio seleciona o grupo raiz, e omiti-lo seleciona todos os grupos). sort (group, name, version), direction (asc, desc) e groupBy (none, group, package, que adiciona groups listando os artifactIds da página) moldam o resultado. As páginas contêm limit itens (1–100, padrão 50); continue com after definido como next e os mesmos filtros. As páginas não são um instantâneo: versões registradas nesse intervalo podem não aparecer até a próxima passagem.

Parâmetros

NomeLocalTipoObrigatórioRegras
repositorycaminhostringsimcorresponde a ^[a-z0-9][a-z0-9_-]{0,63}$
groupconsultastringnão—
nameconsultastringnão—
sortconsultastringnãoum destes: group, name, version
directionconsultastringnãoum destes: asc, desc
groupByconsultastringnãoum destes: none, group, package
afterconsultastringnão—
limitconsultaintegernão1–100

Resposta 200

CampoTipoObrigatórioRegras
itemsarray de objectsim—
items[].groupstringnão—
items[].namestringnão—
items[].versionstringnão—
items[].artifactIdstring (uuid)não—
items[].manifestobjectnão—
nextstringsimpode ser null
groupsarray de objectsim—
groups[].groupstringsim—
groups[].namestringsimpode ser null
groups[].artifactIdsarray de string (uuid)sim—

Respostas: 200, 400, 401, 403, 404, 409, 422, 503, 507

Exemplo

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

Baixar um pacote por nome e versão ​

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

Acesso: Permissão no repositório: content.read; chaves em arquivo: read · Repetição: Pode ser repetida com segurança (leitura)

Resolve name (em group, o grupo raiz por padrão) para uma versão registrada e a transmite como downloadArtifact; X-Arkvory-Artifact-Id e X-Arkvory-Package-Version indicam a escolha. Selecione por version exata ou por range SemVer (como ^1.4 ou >=1.0.0 <2.0.0), opcionalmente apenas versões com stage; sem nenhum dos dois, ele escolhe a versão estável mais alta, prerelease=true admite pré-lançamentos e order=promoted escolhe a versão que recebeu stage mais recentemente. O nome é resolvido a cada solicitação; portanto, retome com If-Range definido como o ETag retornado ou baixe pelo ID do artefato; resolvePackage fornece a mesma escolha sem os bytes.

Parâmetros

NomeLocalTipoObrigatórioRegras
repositorycaminhostringsimcorresponde a ^[a-z0-9][a-z0-9_-]{0,63}$
RangecabeçalhostringnãoSingle bytes range; multi-range is unsupported. HEAD ignores Range.
If-RangecabeçalhostringnãoExact strong ETag; a mismatch causes a full response.
If-None-MatchcabeçalhostringnãoMatching ETag returns 304, including HEAD.
Arkvory-Download-Idcabeçalhostringnãocorresponde a ^[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-Ticketcabeçalhostringnãoaté 80 caracteres; 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-Classcabeçalhostringnãoum destes: 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.
groupconsultastringnãoaté 128 caracteres
nameconsultastringsim1–128 caracteres
versionconsultastringnãoaté 128 caracteres; Exact version; excludes range.
rangeconsultastringnãoaté 256 caracteres; SemVer range: 1.2.3, ^1.2, ~1.2.3, 1.x, >=1.0.0 <2.0.0, a || b.
stageconsultastringnãocorresponde a ^[a-z0-9][a-z0-9_.-]{0,31}$; Only versions promoted to this stage.
prereleaseconsultastringnãoum destes: true, false; Include prereleases.
orderconsultastringnãoum destes: version, promoted; promoted picks the most recently staged version and requires stage.

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

Exemplo

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

Arkvory · ProAnimaStudio