Zum Inhalt springen

Pakete ​

UPack-Pakete: Registrierung, Auflistung, Versionen und Downloads nach Name, Version oder Versionsbereich.

Die Vorgänge dieser Gruppe mit ihrer Zugriffsregel, Wiederholungsregel, ihren Parametern und Antworten. Jede Anfrage trägt einen Schlüssel: Authorization: Bearer <Schlüssel> (siehe „Authentifizierung“).

Vorgänge ​

Paketversionen auflisten ​

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

Zugriff: Repository-Berechtigung: package.read; Dateischlüssel: read · Wiederholung: Wiederholen ist sicher (Lesen)

Listet die registrierten UPack-Versionen mit ihren Manifesten auf, gefiltert nach group und name (exakt, ohne Beachtung der Groß-/Kleinschreibung; group= mit leerem Wert wählt die Stammgruppe, ohne den Parameter werden alle Gruppen gewählt). sort (group, name, version), direction (asc, desc) und groupBy (none, group, package, was groups mit den artifactIds der Seite hinzufügt) bestimmen das Ergebnis. Seiten enthalten limit Einträge (1–100, Standard 50); weiter mit after = next und denselben Filtern. Seiten sind kein Snapshot: Zwischenzeitlich registrierte Versionen können bis zum nächsten Durchlauf fehlen.

Parameter

NameOrtTypErforderlichRegeln
repositoryPfadstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
groupQuerystringnein—
nameQuerystringnein—
sortQuerystringneineiner von group, name, version
directionQuerystringneineiner von asc, desc
groupByQuerystringneineiner von none, group, package
afterQuerystringnein—
limitQueryintegernein1–100

Antwort 200

FeldTypErforderlichRegeln
itemsArray von objectja—
items[].groupstringnein—
items[].namestringnein—
items[].versionstringnein—
items[].artifactIdstring (uuid)nein—
items[].manifestobjectnein—
nextstringjadarf null sein
groupsArray von objectja—
groups[].groupstringja—
groups[].namestringjadarf null sein
groups[].artifactIdsArray von string (uuid)ja—

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

Beispiel

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

Paket nach Name und Version herunterladen ​

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

Zugriff: Repository-Berechtigung: content.read; Dateischlüssel: read · Wiederholung: Wiederholen ist sicher (Lesen)

Löst name (in group, standardmäßig die Stammgruppe) zu genau einer registrierten Version auf und streamt sie wie downloadArtifact; X-Arkvory-Artifact-Id und X-Arkvory-Package-Version nennen die getroffene Wahl. Wählen Sie über die exakte version oder einen SemVer-Bereich range (etwa ^1.4 oder >=1.0.0 <2.0.0), optional nur Versionen mit stage; ohne beides wird die höchste stabile Version genommen, prerelease=true lässt Vorabversionen zu und order=promoted nimmt die Version, die zuletzt die Stufe stage erhalten hat. Der Name wird bei jeder Anfrage aufgelöst; setzen Sie einen Download daher mit If-Range auf den zurückgegebenen ETag fort oder laden Sie über die Artefakt-ID herunter; resolvePackage liefert dieselbe Auswahl ohne die Bytes.

Parameter

NameOrtTypErforderlichRegeln
repositoryPfadstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
RangeHeaderstringneinSingle bytes range; multi-range is unsupported. HEAD ignores Range.
If-RangeHeaderstringneinExact strong ETag; a mismatch causes a full response.
If-None-MatchHeaderstringneinMatching ETag returns 304, including HEAD.
Arkvory-Download-IdHeaderstringneinentspricht ^[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-TicketHeaderstringneinhöchstens 80 Zeichen; 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-ClassHeaderstringneineiner von 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.
groupQuerystringneinhöchstens 128 Zeichen
nameQuerystringja1–128 Zeichen
versionQuerystringneinhöchstens 128 Zeichen; Exact version; excludes range.
rangeQuerystringneinhöchstens 256 Zeichen; SemVer range: 1.2.3, ^1.2, ~1.2.3, 1.x, >=1.0.0 <2.0.0, a || b.
stageQuerystringneinentspricht ^[a-z0-9][a-z0-9_.-]{0,31}$; Only versions promoted to this stage.
prereleaseQuerystringneineiner von true, false; Include prereleases.
orderQuerystringneineiner von version, promoted; promoted picks the most recently staged version and requires stage.

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

Beispiel

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

Arkvory · ProAnimaStudio