パッケージ
UPackパッケージ:登録、一覧、バージョン、名前・バージョン・バージョン範囲によるダウンロード。
このグループの操作と、それぞれのアクセスルール、再試行ルール、パラメーター、レスポンスです。すべてのリクエストにはキーを付けます:Authorization: Bearer <key>(「認証」を参照)。
操作
パッケージバージョンの一覧表示
GET HEAD /api/v1/repositories/{repository}/packages
アクセス: リポジトリ権限:package.read; ファイルキー:read · 再試行: 再試行しても安全(読み取り)
登録済みのUPackバージョンをマニフェストとともに列挙します。groupとname(完全一致、大文字小文字は無視)で絞り込めます。値が空のgroup=はルートグループを選択し、省略するとすべてのグループが対象です。sort(group、name、version)、direction(asc、desc)、groupBy(none、group、package。これにより、ページのartifactIdsを列挙するgroupsが追加されます)で結果を整形します。ページにはlimit件(1〜100、既定は50)が含まれ、続きは同じフィルターでafterにnextを設定して取得します。ページはスナップショットではありません。その間に登録されたバージョンは、次に走査し直すまで見落とされることがあります。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
repository | パス | string | はい | ^[a-z0-9][a-z0-9_-]{0,63}$に一致 |
group | クエリ | string | いいえ | — |
name | クエリ | string | いいえ | — |
sort | クエリ | string | いいえ | 次のいずれか:group, name, version |
direction | クエリ | string | いいえ | 次のいずれか:asc, desc |
groupBy | クエリ | string | いいえ | 次のいずれか:none, group, package |
after | クエリ | string | いいえ | — |
limit | クエリ | integer | いいえ | 1~100 |
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
items | objectの配列 | はい | — |
items[].group | string | いいえ | — |
items[].name | string | いいえ | — |
items[].version | string | いいえ | — |
items[].artifactId | string (uuid) | いいえ | — |
items[].manifest | object | いいえ | — |
next | string | はい | nullも可 |
groups | objectの配列 | はい | — |
groups[].group | string | はい | — |
groups[].name | string | はい | nullも可 |
groups[].artifactIds | string (uuid)の配列 | はい | — |
レスポンス: 200, 400, 401, 403, 404, 409, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/packages" \
-H "Authorization: Bearer $ARKVORY_TOKEN"名前とバージョンによるパッケージのダウンロード
GET HEAD /api/v1/repositories/{repository}/packages/content
アクセス: リポジトリ権限:content.read; ファイルキー:read · 再試行: 再試行しても安全(読み取り)
name(group内。既定はルートグループ)を登録済みの1つのバージョンに解決し、downloadArtifactと同様にストリームで返します。選ばれたものはX-Arkvory-Artifact-IdとX-Arkvory-Package-Versionで分かります。正確なversionまたはSemVerのrange(^1.4、>=1.0.0 <2.0.0など)で選択でき、必要に応じてstageを持つバージョンのみに限定できます。どちらも指定しない場合は最も高い安定版バージョンを選び、prerelease=trueでプレリリースも対象になり、order=promotedでは直近にstageへプロモートされたバージョンを選びます。名前はリクエストのたびに解決されるため、再開するときは返されたETagをIf-Rangeに設定するか、アーティファクトIDでダウンロードしてください。resolvePackageは、バイト列を返さずに同じ選択結果を返します。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
repository | パス | string | はい | ^[a-z0-9][a-z0-9_-]{0,63}$に一致 |
Range | ヘッダー | string | いいえ | Single bytes range; multi-range is unsupported. HEAD ignores Range. |
If-Range | ヘッダー | string | いいえ | Exact strong ETag; a mismatch causes a full response. |
If-None-Match | ヘッダー | string | いいえ | Matching ETag returns 304, including HEAD. |
Arkvory-Download-Id | ヘッダー | string | いいえ | ^[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 | ヘッダー | string | いいえ | 80文字以内; 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 | ヘッダー | string | いいえ | 次のいずれか: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 | クエリ | string | いいえ | 128文字以内 |
name | クエリ | string | はい | 1~128文字 |
version | クエリ | string | いいえ | 128文字以内; Exact version; excludes range. |
range | クエリ | string | いいえ | 256文字以内; SemVer range: 1.2.3, ^1.2, ~1.2.3, 1.x, >=1.0.0 <2.0.0, a || b. |
stage | クエリ | string | いいえ | ^[a-z0-9][a-z0-9_.-]{0,31}$に一致; Only versions promoted to this stage. |
prerelease | クエリ | string | いいえ | 次のいずれか:true, false; Include prereleases. |
order | クエリ | string | いいえ | 次のいずれか:version, promoted; promoted picks the most recently staged version and requires stage. |
レスポンス: 200, 206, 304, 400, 401, 403, 404, 409, 416, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/packages/content?name=$NAME" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-o file