ビルドの添付ファイル
アーティファクトに添付されたログ、レポート、その他のファイルと、その履歴。
このグループの操作と、それぞれのアクセスルール、再試行ルール、パラメーター、レスポンスです。すべてのリクエストにはキーを付けます:Authorization: Bearer <key>(「認証」を参照)。
操作
ビルドの添付ファイルの取得
GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/attachments
アクセス: リポジトリ権限:annotation.read; ファイルキー:read · 再試行: 再試行しても安全(読み取り)
アーティファクトの現在の添付ファイルのリビジョンを返します。最大32エントリで、各エントリはリポジトリ内の別の公開済みアーティファクトを指し、name、kind(manifest、sbom、signature、report、file)、descriptionを持ちます。あわせて、変更の実行者と時刻も返します。項目のないリビジョン0は、何も添付されたことがないことを意味します。添付ファイルは、そのartifactIdでダウンロードしてください。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
repository | パス | string | はい | ^[a-z0-9][a-z0-9_-]{0,63}$に一致 |
id | パス | string (uuid) | はい | — |
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
revision | integer | はい | 0~2147483647 |
items | objectの配列 | はい | 32個以内の要素 |
items[].name | string | はい | 1~240文字 |
items[].kind | string | はい | 次のいずれか:manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | はい | — |
items[].description | string | はい | 512文字以内 |
actor | string | はい | nullも可 |
createdAt | string (date-time) | はい | nullも可 |
レスポンス: 200, 400, 401, 403, 404, 409, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments" \
-H "Authorization: Bearer $ARKVORY_TOKEN"ビルドの添付ファイルの置換
PUT /api/v1/repositories/{repository}/artifacts/{id}/attachments
アクセス: リポジトリ権限:annotation.write, artifact.read; ファイルキー:read, write · 再試行: 想定するリビジョンを指定した場合のみ再試行(compare-and-swap)
アーティファクトの添付ファイルのリスト全体を置き換え(最大32エントリ。空のリストを指定するとすべて削除)、新しいリビジョンを返します。各対象は、同じリポジトリにすでに公開されている別のアーティファクトでなければなりません(先にアップロードしてください)。名前は大文字小文字を区別せずに一意で、説明は最大512文字です。expectedRevisionは現在のリビジョン(最初のリストでは0)でなければならず、そうでない場合は409 revision_mismatchになります。いずれかのリビジョンで指定されたアーティファクトは、削除から保護されたままになります。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
repository | パス | string | はい | ^[a-z0-9][a-z0-9_-]{0,63}$に一致 |
id | パス | string (uuid) | はい | — |
リクエスト本文 (application/json)
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
expectedRevision | integer | はい | 0~2147483646 |
items | objectの配列 | はい | 32個以内の要素 |
items[].name | string | はい | 1~240文字 |
items[].kind | string | はい | 次のいずれか:manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | はい | — |
items[].description | string | はい | 512文字以内 |
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
revision | integer | はい | 0~2147483647 |
items | objectの配列 | はい | 32個以内の要素 |
items[].name | string | はい | 1~240文字 |
items[].kind | string | はい | 次のいずれか:manifest, sbom, signature, report, file |
items[].artifactId | string (uuid) | はい | — |
items[].description | string | はい | 512文字以内 |
actor | string | はい | nullも可 |
createdAt | string (date-time) | はい | nullも可 |
レスポンス: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
例
curl -X PUT "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"expectedRevision":0,"items":[]}'ビルドの添付ファイル履歴の一覧表示
GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/attachments/history
アクセス: リポジトリ権限:annotation.read; ファイルキー:read · 再試行: 再試行しても安全(読み取り)
アーティファクトの以前および現在の添付ファイルのリビジョンを新しい順に、1ページ20件で返します。各リビジョンにはエントリ、実行者、時刻が含まれます。続きはbeforeにnextを設定して取得します。すべてのリビジョンの添付アーティファクトは削除から保護されているため、引き続きダウンロードできます。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
repository | パス | string | はい | ^[a-z0-9][a-z0-9_-]{0,63}$に一致 |
id | パス | string (uuid) | はい | — |
before | クエリ | integer | いいえ | 1~2147483647 |
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
items | objectの配列 | はい | 20個以内の要素 |
items[].revision | integer | はい | 0~2147483647 |
items[].items | objectの配列 | はい | 32個以内の要素 |
items[].items[].name | string | はい | 1~240文字 |
items[].items[].kind | string | はい | 次のいずれか:manifest, sbom, signature, report, file |
items[].items[].artifactId | string (uuid) | はい | — |
items[].items[].description | string | はい | 512文字以内 |
items[].actor | string | はい | nullも可 |
items[].createdAt | string (date-time) | はい | nullも可 |
next | integer | はい | 1~2147483647; nullも可 |
レスポンス: 200, 400, 401, 403, 404, 409, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/attachments/history" \
-H "Authorization: Bearer $ARKVORY_TOKEN"