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

الحزم ​

حزم UPack: التسجيل، والسرد، والإصدارات، والتنزيل بالاسم أو الإصدار أو نطاق الإصدارات.

عمليات هذه المجموعة مع قاعدة الوصول وقاعدة إعادة المحاولة والمعلمات والاستجابات. يحمل كل طلب مفتاحًا: Authorization: Bearer <key> (راجع «المصادقة»).

العمليات ​

عرض قائمة إصدارات الحزم ​

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

الوصول: إذن المستودع: package.read; مفاتيح الملفات: read · إعادة المحاولة: آمن للتكرار (قراءة)

يسرد إصدارات UPack المسجّلة مع ملفات بياناتها (manifests)، بعد التصفية حسب group وname (مطابقة تامة دون مراعاة حالة الأحرف؛ group= بقيمة فارغة يحدد المجموعة الجذرية، وحذفه يحدد كل المجموعات). وتشكّل النتيجة كل من sort (group أو name أو version) وdirection (asc أو desc) وgroupBy (none أو group أو package، وهذا الأخير يضيف groups تسرد artifactIds الخاصة بالصفحة). تحتوي الصفحة على 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[].groupstringلا—
items[].namestringلا—
items[].versionstringلا—
items[].artifactIdstring (uuid)لا—
items[].manifestobjectلا—
nextstringنعميمكن أن يكون null
groupsمصفوفة من objectنعم—
groups[].groupstringنعم—
groups[].namestringنعميمكن أن يكون null
groups[].artifactIdsمصفوفة من string (uuid)نعم—

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

مثال

bash
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، والمجموعة الجذرية افتراضيًا) إصدارًا مسجّلًا واحدًا ويبثّه كما يفعل 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 أحدث مرة. يُحدَّد الاسم في كل طلب، لذا استأنف باستخدام If-Range مضبوطًا على ETag المُعاد، أو نزّل بمعرّف المُخرَج؛ ويعطي 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

مثال

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

Arkvory · ProAnimaStudio