Aller au contenu

Paquets ​

Paquets UPack : enregistrement, liste, versions et téléchargements par nom, version ou plage de versions.

Opérations de ce groupe, avec leur règle d’accès, leur règle de nouvelle tentative, leurs paramètres et leurs réponses. Chaque requête porte une clé : Authorization: Bearer <clé> (voir « Authentification »).

Opérations ​

Lister les versions de paquets ​

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

Accès: Autorisation sur le dépôt : package.read; clés de fichier : read · Nouvelle tentative: Peut être répétée sans risque (lecture)

Liste les versions UPack enregistrées avec leurs manifestes, filtrées par group et name (valeur exacte, sans tenir compte de la casse ; group= avec une valeur vide sélectionne le groupe racine, l’omettre sélectionne tous les groupes). sort (group, name, version), direction (asc, desc) et groupBy (none, group, package, qui ajoute groups listant les artifactIds de la page) déterminent la forme du résultat. Les pages contiennent limit éléments (1–100, 50 par défaut) ; poursuivez avec after défini sur next et les mêmes filtres. Les pages ne sont pas un instantané : des versions enregistrées entre-temps peuvent être manquées jusqu’au prochain passage.

Paramètres

NomEmplacementTypeObligatoireRègles
repositorycheminstringouicorrespond à ^[a-z0-9][a-z0-9_-]{0,63}$
grouprequêtestringnon—
namerequêtestringnon—
sortrequêtestringnonune valeur parmi group, name, version
directionrequêtestringnonune valeur parmi asc, desc
groupByrequêtestringnonune valeur parmi none, group, package
afterrequêtestringnon—
limitrequêteintegernon1–100

Réponse 200

ChampTypeObligatoireRègles
itemstableau de objectoui—
items[].groupstringnon—
items[].namestringnon—
items[].versionstringnon—
items[].artifactIdstring (uuid)non—
items[].manifestobjectnon—
nextstringouipeut être null
groupstableau de objectoui—
groups[].groupstringoui—
groups[].namestringouipeut être null
groups[].artifactIdstableau de string (uuid)oui—

Réponses: 200, 400, 401, 403, 404, 409, 422, 503, 507

Exemple

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

Télécharger un paquet par nom et version ​

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

Accès: Autorisation sur le dépôt : content.read; clés de fichier : read · Nouvelle tentative: Peut être répétée sans risque (lecture)

Résout name (dans group, le groupe racine par défaut) en une version enregistrée et la diffuse en flux comme downloadArtifact ; X-Arkvory-Artifact-Id et X-Arkvory-Package-Version désignent le choix. Sélectionnez par version exacte ou par plage SemVer range (comme ^1.4 ou >=1.0.0 <2.0.0), éventuellement uniquement parmi les versions ayant stage ; sans l’un ni l’autre, la version stable la plus élevée est retenue, prerelease=true admet les préversions et order=promoted retient la version qui a reçu stage le plus récemment. Le nom est résolu à chaque requête : reprenez donc avec If-Range défini sur l’ETag renvoyé, ou téléchargez par ID d’artefact ; resolvePackage donne le même choix sans les octets.

Paramètres

NomEmplacementTypeObligatoireRègles
repositorycheminstringouicorrespond à ^[a-z0-9][a-z0-9_-]{0,63}$
Rangeen-têtestringnonSingle bytes range; multi-range is unsupported. HEAD ignores Range.
If-Rangeen-têtestringnonExact strong ETag; a mismatch causes a full response.
If-None-Matchen-têtestringnonMatching ETag returns 304, including HEAD.
Arkvory-Download-Iden-têtestringnoncorrespond à ^[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-Ticketen-têtestringnonjusqu’à 80 caractères; 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-Classen-têtestringnonune valeur parmi 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.
grouprequêtestringnonjusqu’à 128 caractères
namerequêtestringoui1–128 caractères
versionrequêtestringnonjusqu’à 128 caractères; Exact version; excludes range.
rangerequêtestringnonjusqu’à 256 caractères; SemVer range: 1.2.3, ^1.2, ~1.2.3, 1.x, >=1.0.0 <2.0.0, a || b.
stagerequêtestringnoncorrespond à ^[a-z0-9][a-z0-9_.-]{0,31}$; Only versions promoted to this stage.
prereleaserequêtestringnonune valeur parmi true, false; Include prereleases.
orderrequêtestringnonune valeur parmi version, promoted; promoted picks the most recently staged version and requires stage.

Réponses: 200, 206, 304, 400, 401, 403, 404, 409, 416, 422, 503, 507

Exemple

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

Arkvory · ProAnimaStudio