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
| Name | Ort | Typ | Erforderlich | Regeln |
|---|---|---|---|---|
repository | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | Pfad | string (uuid) | ja | — |
Antwort 200
| Feld | Typ | Erforderlich | Regeln |
|---|---|---|---|
items | Array von object | ja | höchstens 16 Elemente |
items[].artifactId | string (uuid) | ja | — |
items[].stage | string | ja | entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$ |
items[].promotedAt | string (date-time) | ja | — |
items[].actor | string | ja | — |
items[].comment | string | ja | höchstens 1024 Zeichen; darf null sein |
Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507
Beispiel
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
| Name | Ort | Typ | Erforderlich | Regeln |
|---|---|---|---|---|
repository | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | Pfad | string (uuid) | ja | — |
stage | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$ |
Anfragetext (application/json)
| Feld | Typ | Erforderlich | Regeln |
|---|---|---|---|
comment | string | nein | höchstens 1024 Zeichen; darf null sein |
Antwort 200
| Feld | Typ | Erforderlich | Regeln |
|---|---|---|---|
artifactId | string (uuid) | ja | — |
stage | string | ja | entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$ |
promotedAt | string (date-time) | ja | — |
actor | string | ja | — |
comment | string | ja | höchstens 1024 Zeichen; darf null sein |
Antworten: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
Beispiel
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
| Name | Ort | Typ | Erforderlich | Regeln |
|---|---|---|---|---|
repository | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | Pfad | string (uuid) | ja | — |
stage | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$ |
Antworten: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507
Beispiel
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
| Name | Ort | Typ | Erforderlich | Regeln |
|---|---|---|---|---|
repository | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | Pfad | string (uuid) | ja | — |
after | Query | string | nein | eine ganze Zahl in Dezimalziffern, als String gesendet |
limit | Query | string | nein | eine ganze Zahl in Dezimalziffern, als String gesendet; At most 100. |
Antwort 200
| Feld | Typ | Erforderlich | Regeln |
|---|---|---|---|
items | Array von object | ja | höchstens 100 Elemente |
items[].sequence | string | ja | eine ganze Zahl in Dezimalziffern, als String gesendet |
items[].repository | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
items[].artifactId | string (uuid) | ja | — |
items[].action | string | ja | einer von stage.added, stage.removed, promoted, received |
items[].stage | string | ja | entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$; darf null sein |
items[].mode | string | ja | einer von copy, move, null; darf null sein |
items[].peerRepository | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$; darf null sein |
items[].peerArtifactId | string (uuid) | ja | darf null sein |
items[].actor | string | ja | — |
items[].comment | string | ja | höchstens 1024 Zeichen; darf null sein |
items[].occurredAt | string (date-time) | ja | — |
next | string | ja | darf null sein |
Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507
Beispiel
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
| Name | Ort | Typ | Erforderlich | Regeln |
|---|---|---|---|---|
repository | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
id | Pfad | string (uuid) | ja | — |
Anfragetext (application/json)
| Feld | Typ | Erforderlich | Regeln |
|---|---|---|---|
target | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
mode | string | nein | einer von copy, move |
stages | Array von string | nein | höchstens 16 Elemente; keine wiederholten Elemente; jedes Element: entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$ |
comment | string | nein | höchstens 1024 Zeichen; darf null sein |
Antwort 200
| Feld | Typ | Erforderlich | Regeln |
|---|---|---|---|
repository | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
artifactId | string (uuid) | ja | — |
sourceRepository | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
sourceArtifactId | string (uuid) | ja | — |
mode | string | ja | einer von copy, move |
created | boolean | ja | — |
stages | Array von string | ja | hö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
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
| Name | Ort | Typ | Erforderlich | Regeln |
|---|---|---|---|---|
repository | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
stage | Query | string | nein | entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$ |
after | Query | string | nein | — |
limit | Query | string | nein | eine ganze Zahl in Dezimalziffern, als String gesendet; At most 100. |
ids | Query | string | nein | höchstens 3699 Zeichen; Up to 100 comma-separated artifact ids. |
Antwort 200
| Feld | Typ | Erforderlich | Regeln |
|---|---|---|---|
items | Array von object | ja | höchstens 100 Elemente |
items[].artifactId | string (uuid) | ja | — |
items[].stage | string | ja | entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$ |
items[].promotedAt | string (date-time) | ja | — |
items[].actor | string | ja | — |
items[].comment | string | ja | höchstens 1024 Zeichen; darf null sein |
next | string | ja | darf null sein |
Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507
Beispiel
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
| Name | Ort | Typ | Erforderlich | Regeln |
|---|---|---|---|---|
repository | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
after | Query | string | nein | eine ganze Zahl in Dezimalziffern, als String gesendet |
limit | Query | string | nein | eine ganze Zahl in Dezimalziffern, als String gesendet; At most 100. |
Antwort 200
| Feld | Typ | Erforderlich | Regeln |
|---|---|---|---|
items | Array von object | ja | höchstens 100 Elemente |
items[].sequence | string | ja | eine ganze Zahl in Dezimalziffern, als String gesendet |
items[].repository | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
items[].artifactId | string (uuid) | ja | — |
items[].action | string | ja | einer von stage.added, stage.removed, promoted, received |
items[].stage | string | ja | entspricht ^[a-z0-9][a-z0-9_.-]{0,31}$; darf null sein |
items[].mode | string | ja | einer von copy, move, null; darf null sein |
items[].peerRepository | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$; darf null sein |
items[].peerArtifactId | string (uuid) | ja | darf null sein |
items[].actor | string | ja | — |
items[].comment | string | ja | höchstens 1024 Zeichen; darf null sein |
items[].occurredAt | string (date-time) | ja | — |
next | string | ja | darf null sein |
Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507
Beispiel
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
| Name | Ort | Typ | Erforderlich | Regeln |
|---|---|---|---|---|
repository | Pfad | string | ja | entspricht ^[a-z0-9][a-z0-9_-]{0,63}$ |
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. |
Antwort 200
| Feld | Typ | Erforderlich | Regeln |
|---|---|---|---|
group | string | ja | — |
name | string | ja | — |
version | string | ja | — |
artifactId | string (uuid) | ja | — |
sha256 | string | ja | SHA-256: 64 hexadezimale Ziffern in Kleinbuchstaben |
size | string | ja | eine ganze Zahl in Dezimalziffern, als String gesendet |
publishedAt | string (date-time) | ja | — |
stagedAt | string (date-time) | ja | darf null sein |
stages | Array von string | ja | hö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
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/packages/resolve?name=$NAME" \
-H "Authorization: Bearer $ARKVORY_TOKEN"