انتقل إلى المحتوى

مرفقات البناء ​

السجلات والتقارير والملفات الأخرى المرفقة بمُخرَج، مع محفوظاتها.

عمليات هذه المجموعة مع قاعدة الوصول وقاعدة إعادة المحاولة والمعلمات والاستجابات. يحمل كل طلب مفتاحًا: 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

الحقلالنوعمطلوبالقواعد
revisionintegerنعم0–2147483647
itemsمصفوفة من objectنعمعدد العناصر: 32 كحد أقصى
items[].namestringنعمعدد الأحرف: 1–240
items[].kindstringنعمإحدى القيم: manifest, sbom, signature, report, file
items[].artifactIdstring (uuid)نعم—
items[].descriptionstringنعمعدد الأحرف: 512 كحد أقصى
actorstringنعميمكن أن يكون null
createdAtstring (date-time)نعميمكن أن يكون null

الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507

مثال

bash
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)

الحقلالنوعمطلوبالقواعد
expectedRevisionintegerنعم0–2147483646
itemsمصفوفة من objectنعمعدد العناصر: 32 كحد أقصى
items[].namestringنعمعدد الأحرف: 1–240
items[].kindstringنعمإحدى القيم: manifest, sbom, signature, report, file
items[].artifactIdstring (uuid)نعم—
items[].descriptionstringنعمعدد الأحرف: 512 كحد أقصى

الاستجابة 200

الحقلالنوعمطلوبالقواعد
revisionintegerنعم0–2147483647
itemsمصفوفة من objectنعمعدد العناصر: 32 كحد أقصى
items[].namestringنعمعدد الأحرف: 1–240
items[].kindstringنعمإحدى القيم: manifest, sbom, signature, report, file
items[].artifactIdstring (uuid)نعم—
items[].descriptionstringنعمعدد الأحرف: 512 كحد أقصى
actorstringنعميمكن أن يكون null
createdAtstring (date-time)نعميمكن أن يكون null

الاستجابات: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

مثال

bash
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 · إعادة المحاولة: آمن للتكرار (قراءة)

يعيد مراجعات المرفقات السابقة والحالية لمُخرَج، بدءًا من الأحدث، 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[].revisionintegerنعم0–2147483647
items[].itemsمصفوفة من objectنعمعدد العناصر: 32 كحد أقصى
items[].items[].namestringنعمعدد الأحرف: 1–240
items[].items[].kindstringنعمإحدى القيم: manifest, sbom, signature, report, file
items[].items[].artifactIdstring (uuid)نعم—
items[].items[].descriptionstringنعمعدد الأحرف: 512 كحد أقصى
items[].actorstringنعميمكن أن يكون null
items[].createdAtstring (date-time)نعميمكن أن يكون null
nextintegerنعم1–2147483647; يمكن أن يكون null

الاستجابات: 200, 400, 401, 403, 404, 409, 422, 503, 507

مثال

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

Arkvory · ProAnimaStudio