पैकेज
UPack पैकेज: पंजीकरण, सूची, संस्करण और नाम, संस्करण या संस्करण श्रेणी के अनुसार डाउनलोड।
इस समूह के ऑपरेशन, उनके एक्सेस नियम, पुनः प्रयास नियम, पैरामीटर और जवाबों के साथ। हर अनुरोध में एक कुंजी होती है: Authorization: Bearer <कुंजी> (“प्रमाणीकरण” देखें)।
ऑपरेशन
पैकेज संस्करण सूचीबद्ध करें
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 में, डिफ़ॉल्ट रूप से रूट समूह) को एक पंजीकृत संस्करण में निर्धारित (resolve) करता है और उसे 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