Zum Inhalt springen

Stufen und Hochstufung ​

Stufen eines Artefakts (zum Beispiel release), Hochstufung zwischen Repositorys und Auflösung einer Stufe zu einer Version.

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 ​

Stufen eines Artefakts auflisten ​

GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/stages

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

Liefert die aktuellen Hochstufungsstufen eines veröffentlichten Artefakts (höchstens 16), jeweils mit dem Zeitpunkt des Hinzufügens, dem Akteur und dem Kommentar.

Parameter

NameOrtTypErforderlichRegeln
repositoryPfadstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
idPfadstring (uuid)ja—

Antwort 200

FeldTypErforderlichRegeln
itemsArray von objectjahöchstens 16 Elemente
items[].artifactIdstring (uuid)ja—
items[].stagestringjaentspricht ^[a-z0-9][a-z0-9_.-]{0,31}$
items[].promotedAtstring (date-time)ja—
items[].actorstringja—
items[].commentstringjahöchstens 1024 Zeichen; darf null sein

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

Beispiel

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

Einem Artefakt eine Stufe hinzufügen ​

PUT /api/v1/repositories/{repository}/artifacts/{id}/stages/{stage}

Zugriff: Repository-Berechtigung: artifact.promote, artifact.read; Dateischlüssel: read, write · Wiederholung: Wiederholen ist sicher: Dieselbe Anfrage hat dieselbe Wirkung

Markiert ein veröffentlichtes Artefakt mit stage (1–32 Kleinbuchstaben, Ziffern oder _.-, beginnend mit einem Buchstaben oder einer Ziffer), optional mit einem comment von bis zu 1024 Zeichen, und hält das Ereignis im Hochstufungsjournal fest. Eine Stufe hinzuzufügen, die das Artefakt bereits hat, ändert nichts und behält den ursprünglichen Zeitpunkt; um dieselbe Version erneut hochzustufen (für ein Rollback mit order=promoted), entfernen Sie die Stufe zuerst. Ein Artefakt hat höchstens 16 Stufen (409 stage_limit).

Parameter

NameOrtTypErforderlichRegeln
repositoryPfadstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
idPfadstring (uuid)ja—
stagePfadstringjaentspricht ^[a-z0-9][a-z0-9_.-]{0,31}$

Anfragetext (application/json)

FeldTypErforderlichRegeln
commentstringneinhöchstens 1024 Zeichen; darf null sein

Antwort 200

FeldTypErforderlichRegeln
artifactIdstring (uuid)ja—
stagestringjaentspricht ^[a-z0-9][a-z0-9_.-]{0,31}$
promotedAtstring (date-time)ja—
actorstringja—
commentstringjahöchstens 1024 Zeichen; darf null sein

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

Beispiel

bash
curl -X PUT "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/stages/$STAGE" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Eine Stufe von einem Artefakt entfernen ​

DELETE /api/v1/repositories/{repository}/artifacts/{id}/stages/{stage}

Zugriff: Repository-Berechtigung: artifact.promote, artifact.read; Dateischlüssel: read, write · Wiederholung: Wiederholen ist sicher: Dieselbe Anfrage hat dieselbe Wirkung

Entfernt stage von einem veröffentlichten Artefakt und hält das Ereignis im Hochstufungsjournal fest; auch das Entfernen einer Stufe, die das Artefakt nicht hat, ist erfolgreich. Die Paketauflösung nach dieser Stufe wählt das Artefakt sofort nicht mehr.

Parameter

NameOrtTypErforderlichRegeln
repositoryPfadstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
idPfadstring (uuid)ja—
stagePfadstringjaentspricht ^[a-z0-9][a-z0-9_.-]{0,31}$

Antworten: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

Beispiel

bash
curl -X DELETE "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/stages/$STAGE" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Hochstufungsverlauf eines Artefakts auflisten ​

GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/promotions

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

Liefert das Journal eines Artefakts, älteste zuerst: hinzugefügte und entfernte Stufen sowie Hochstufungen in andere Repositorys und aus ihnen, mit dem Gegenartefakt, Akteur, Kommentar und Zeit. Seiten enthalten limit Ereignisse (1–100, Standard 50); weiter mit after = next.

Parameter

NameOrtTypErforderlichRegeln
repositoryPfadstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
idPfadstring (uuid)ja—
afterQuerystringneineine ganze Zahl in Dezimalziffern, als String gesendet
limitQuerystringneineine ganze Zahl in Dezimalziffern, als String gesendet; At most 100.

Antwort 200

FeldTypErforderlichRegeln
itemsArray von objectjahöchstens 100 Elemente
items[].sequencestringjaeine ganze Zahl in Dezimalziffern, als String gesendet
items[].repositorystringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
items[].artifactIdstring (uuid)ja—
items[].actionstringjaeiner von stage.added, stage.removed, promoted, received
items[].stagestringjaentspricht ^[a-z0-9][a-z0-9_.-]{0,31}$; darf null sein
items[].modestringjaeiner von copy, move, null; darf null sein
items[].peerRepositorystringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$; darf null sein
items[].peerArtifactIdstring (uuid)jadarf null sein
items[].actorstringja—
items[].commentstringjahöchstens 1024 Zeichen; darf null sein
items[].occurredAtstring (date-time)ja—
nextstringjadarf null sein

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

Beispiel

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

Ein Artefakt in ein anderes Repository hochstufen ​

POST /api/v1/repositories/{repository}/artifacts/{id}/promote

Zugriff: Repository-Berechtigung: artifact.read, content.read; Dateischlüssel: read · Wiederholung: Wiederholen ist sicher: Dieselbe Anfrage hat dieselbe Wirkung

Veröffentlicht das Artefakt in target, ohne die Bytes erneut zu senden, optional mit stages und einem comment; der Aufrufer benötigt außerdem artifact.promote im Ziel. Bei mode copy (Standard) bleibt die Quelle erhalten; move, das auch hier artifact.promote verlangt, mustert die Quelle in derselben Transaktion aus, übernimmt ihre Stufen und wird mit 409 abgelehnt, wenn die Quelle nicht gelöscht werden kann. Die Antwort ist 201 mit der Kopie; eine Wiederholung liefert dieselbe Kopie mit 200, und ein Ziel, das diese Paketversion bereits hat, liefert dieses Artefakt, wenn der SHA-256 übereinstimmt, und 409 version_exists, wenn nicht. Build-Anhänge und Dateipfade werden nicht übernommen.

Parameter

NameOrtTypErforderlichRegeln
repositoryPfadstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
idPfadstring (uuid)ja—

Anfragetext (application/json)

FeldTypErforderlichRegeln
targetstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
modestringneineiner von copy, move
stagesArray von stringneinhöchstens 16 Elemente; keine wiederholten Elemente; jedes Element: entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$
commentstringneinhöchstens 1024 Zeichen; darf null sein

Antwort 200

FeldTypErforderlichRegeln
repositorystringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
artifactIdstring (uuid)ja—
sourceRepositorystringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
sourceArtifactIdstring (uuid)ja—
modestringjaeiner von copy, move
createdbooleanja—
stagesArray von stringjahöchstens 16 Elemente; keine wiederholten Elemente; jedes Element: entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$

Antworten: 200, 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

Beispiel

bash
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/promote" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"target":"<target>"}'

Artefakte mit Stufen auflisten ​

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

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

Listet die Stufeneinträge des Repositorys (Artefakt, Stufe, Zeit, Akteur, Kommentar) nach Artefakt und Stufe geordnet auf, optional nur für die Stufe stage oder nur für die Artefakte in ids (1–100 durch Komma getrennte IDs, etwa um die Stufen einer Seite von Paketen auf einmal anzuzeigen). Seiten enthalten limit Einträge (1–100, Standard 100); weiter mit after = next (<artifactId>/<stage>).

Parameter

NameOrtTypErforderlichRegeln
repositoryPfadstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
stageQuerystringneinentspricht ^[a-z0-9][a-z0-9_.-]{0,31}$
afterQuerystringnein—
limitQuerystringneineine ganze Zahl in Dezimalziffern, als String gesendet; At most 100.
idsQuerystringneinhöchstens 3699 Zeichen; Up to 100 comma-separated artifact ids.

Antwort 200

FeldTypErforderlichRegeln
itemsArray von objectjahöchstens 100 Elemente
items[].artifactIdstring (uuid)ja—
items[].stagestringjaentspricht ^[a-z0-9][a-z0-9_.-]{0,31}$
items[].promotedAtstring (date-time)ja—
items[].actorstringja—
items[].commentstringjahöchstens 1024 Zeichen; darf null sein
nextstringjadarf null sein

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

Beispiel

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

Hochstufungsjournal eines Repositorys verfolgen ​

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

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

Liefert die Stufen- und Hochstufungsereignisse jedes Artefakts im Repository, älteste zuerst, zum Abfragen durch CI/CD: Stufe hinzugefügt oder entfernt, in ein anderes Repository hochgestuft, aus einem anderen erhalten. Seiten enthalten limit Ereignisse (1–100, Standard 50); merken Sie sich die letzte sequence und fahren Sie mit after = next fort.

Parameter

NameOrtTypErforderlichRegeln
repositoryPfadstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
afterQuerystringneineine ganze Zahl in Dezimalziffern, als String gesendet
limitQuerystringneineine ganze Zahl in Dezimalziffern, als String gesendet; At most 100.

Antwort 200

FeldTypErforderlichRegeln
itemsArray von objectjahöchstens 100 Elemente
items[].sequencestringjaeine ganze Zahl in Dezimalziffern, als String gesendet
items[].repositorystringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
items[].artifactIdstring (uuid)ja—
items[].actionstringjaeiner von stage.added, stage.removed, promoted, received
items[].stagestringjaentspricht ^[a-z0-9][a-z0-9_.-]{0,31}$; darf null sein
items[].modestringjaeiner von copy, move, null; darf null sein
items[].peerRepositorystringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$; darf null sein
items[].peerArtifactIdstring (uuid)jadarf null sein
items[].actorstringja—
items[].commentstringjahöchstens 1024 Zeichen; darf null sein
items[].occurredAtstring (date-time)ja—
nextstringjadarf null sein

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

Beispiel

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

Paketversion auflösen ​

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

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

Wählt nach denselben Regeln wie downloadPackageContent genau eine registrierte UPack-Version und liefert sie ohne die Bytes zurück: Version, Artefakt-ID, SHA-256, Größe, Veröffentlichungszeit und aktuelle Stufen. name ist erforderlich, group ist standardmäßig die Stammgruppe; wählen Sie über die exakte version oder einen SemVer-Bereich range, optional stage, prerelease=true und order=promoted (erfordert stage); ohne version und range ist es die höchste stabile Version. Kein Treffer ergibt 404; laden Sie das Ergebnis über die Artefakt-ID herunter, um bei dieser Version zu bleiben.

Parameter

NameOrtTypErforderlichRegeln
repositoryPfadstringjaentspricht ^[a-z0-9][a-z0-9_-]{0,63}$
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.

Antwort 200

FeldTypErforderlichRegeln
groupstringja—
namestringja—
versionstringja—
artifactIdstring (uuid)ja—
sha256stringjaSHA-256: 64 hexadezimale Ziffern in Kleinbuchstaben
sizestringjaeine ganze Zahl in Dezimalziffern, als String gesendet
publishedAtstring (date-time)ja—
stagedAtstring (date-time)jadarf null sein
stagesArray von stringjahöchstens 16 Elemente; keine wiederholten Elemente; jedes Element: entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$

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

Beispiel

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

Arkvory · ProAnimaStudio