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
| Name | Ort | Typ | Erforderlich | Regeln |
|---|---|---|---|---|
repository | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
group | Query | string | nein | — |
name | Query | string | nein | — |
sort | Query | string | nein | einer von group, name, version |
direction | Query | string | nein | einer von asc, desc |
groupBy | Query | string | nein | einer von none, group, package |
after | Query | string | nein | — |
limit | Query | integer | nein | 1–100 |
Antwort 200
| Feld | Typ | Erforderlich | Regeln |
|---|---|---|---|
items | Array von object | ja | — |
items[].group | string | nein | — |
items[].name | string | nein | — |
items[].version | string | nein | — |
items[].artifactId | string (uuid) | nein | — |
items[].manifest | object | nein | — |
next | string | ja | darf null sein |
groups | Array von object | ja | — |
groups[].group | string | ja | — |
groups[].name | string | ja | darf null sein |
groups[].artifactIds | Array von string (uuid) | ja | — |
Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507
Beispiel
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
| Name | Ort | Typ | Erforderlich | Regeln |
|---|---|---|---|---|
repository | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
Range | Header | string | nein | Single bytes range; multi-range is unsupported. HEAD ignores Range. |
If-Range | Header | string | nein | Exact strong ETag; a mismatch causes a full response. |
If-None-Match | Header | string | nein | Matching ETag returns 304, including HEAD. |
Arkvory-Download-Id | Header | string | nein | entspricht ^[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 | Header | string | nein | hö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-Class | Header | string | nein | einer 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. |
group | Query | string | nein | höchstens 128 Zeichen |
name | Query | string | ja | 1–128 Zeichen |
version | Query | string | nein | höchstens 128 Zeichen; Exact version; excludes range. |
range | Query | string | nein | höchstens 256 Zeichen; SemVer range: 1.2.3, ^1.2, ~1.2.3, 1.x, >=1.0.0 <2.0.0, a || b. |
stage | Query | string | nein | entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$; Only versions promoted to this stage. |
prerelease | Query | string | nein | einer von true, false; Include prereleases. |
order | Query | string | nein | einer 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
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/packages/content?name=$NAME" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-o file