सामग्री पर जाएँ

स्टेज और प्रमोशन ​

आर्टिफ़ैक्ट के स्टेज (उदाहरण के लिए release), रिपॉज़िटरी के बीच प्रमोशन और स्टेज से संस्करण निर्धारित करना।

इस समूह के ऑपरेशन, उनके एक्सेस नियम, पुनः प्रयास नियम, पैरामीटर और जवाबों के साथ। हर अनुरोध में एक कुंजी होती है: Authorization: Bearer <कुंजी> (“प्रमाणीकरण” देखें)।

ऑपरेशन ​

आर्टिफ़ैक्ट के स्टेज सूचीबद्ध करें ​

GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/stages

एक्सेस: रिपॉज़िटरी अनुमति: artifact.read; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

प्रकाशित आर्टिफ़ैक्ट के वर्तमान प्रमोशन स्टेज लौटाता है (अधिकतम 16), प्रत्येक के साथ जोड़ने का समय, कर्ता और टिप्पणी।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 16 आइटम
items[].artifactIdstring (uuid)हाँ—
items[].stagestringहाँपैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$
items[].promotedAtstring (date-time)हाँ—
items[].actorstringहाँ—
items[].commentstringहाँअधिकतम 1024 वर्ण; null हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

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

आर्टिफ़ैक्ट में स्टेज जोड़ें ​

PUT /api/v1/repositories/{repository}/artifacts/{id}/stages/{stage}

एक्सेस: रिपॉज़िटरी अनुमति: artifact.promote, artifact.read; फ़ाइल कुंजियाँ: read, write · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

प्रकाशित आर्टिफ़ैक्ट को stage (1–32 छोटे अक्षर, अंक या _.-, जो अक्षर या अंक से शुरू हो) से चिह्नित करता है, वैकल्पिक comment (1024 वर्णों तक) के साथ, और घटना को प्रमोशन जर्नल में दर्ज करता है। आर्टिफ़ैक्ट में पहले से मौजूद स्टेज जोड़ने पर कुछ नहीं बदलता और मूल समय बना रहता है, इसलिए उसी संस्करण को फिर प्रमोट करने के लिए (order=promoted के साथ रोलबैक हेतु) पहले स्टेज हटाएँ। आर्टिफ़ैक्ट में अधिकतम 16 स्टेज हो सकते हैं (409 stage_limit)।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—
stageपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
commentstringनहींअधिकतम 1024 वर्ण; null हो सकता है

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
artifactIdstring (uuid)हाँ—
stagestringहाँपैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$
promotedAtstring (date-time)हाँ—
actorstringहाँ—
commentstringहाँअधिकतम 1024 वर्ण; 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/stages/$STAGE" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

आर्टिफ़ैक्ट से स्टेज हटाएँ ​

DELETE /api/v1/repositories/{repository}/artifacts/{id}/stages/{stage}

एक्सेस: रिपॉज़िटरी अनुमति: artifact.promote, artifact.read; फ़ाइल कुंजियाँ: read, write · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

प्रकाशित आर्टिफ़ैक्ट से stage हटाता है और घटना को प्रमोशन जर्नल में दर्ज करता है; जो स्टेज आर्टिफ़ैक्ट में नहीं है उसे हटाना भी सफल होता है। इस स्टेज से पैकेज निर्धारण (resolution) उसी क्षण से आर्टिफ़ैक्ट को चुनना बंद कर देता है।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—
stageपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$

प्रतिक्रियाएँ: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507

उदाहरण

bash
curl -X DELETE "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/stages/$STAGE" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

आर्टिफ़ैक्ट का प्रमोशन इतिहास सूचीबद्ध करें ​

GET HEAD /api/v1/repositories/{repository}/artifacts/{id}/promotions

एक्सेस: रिपॉज़िटरी अनुमति: artifact.read; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

एक आर्टिफ़ैक्ट का जर्नल सबसे पुराने से पहले लौटाता है: जोड़े और हटाए गए स्टेज, अन्य रिपॉज़िटरी में और वहाँ से प्रमोशन (सहभागी आर्टिफ़ैक्ट के साथ), कर्ता, टिप्पणी और समय। प्रत्येक पृष्ठ में limit घटनाएँ होती हैं (1–100, डिफ़ॉल्ट 50); after में next देकर आगे बढ़ें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—
afterक्वेरीstringनहींदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
limitक्वेरीstringनहींदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; At most 100.

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].sequencestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
items[].repositorystringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
items[].artifactIdstring (uuid)हाँ—
items[].actionstringहाँइनमें से एक: stage.added, stage.removed, promoted, received
items[].stagestringहाँपैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$; null हो सकता है
items[].modestringहाँइनमें से एक: copy, move, null; null हो सकता है
items[].peerRepositorystringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$; null हो सकता है
items[].peerArtifactIdstring (uuid)हाँnull हो सकता है
items[].actorstringहाँ—
items[].commentstringहाँअधिकतम 1024 वर्ण; null हो सकता है
items[].occurredAtstring (date-time)हाँ—
nextstringहाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

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

आर्टिफ़ैक्ट को दूसरी रिपॉज़िटरी में प्रमोट करें ​

POST /api/v1/repositories/{repository}/artifacts/{id}/promote

एक्सेस: रिपॉज़िटरी अनुमति: artifact.read, content.read; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है: एक जैसे अनुरोध का प्रभाव एक जैसा होता है

बाइट दोबारा भेजे बिना आर्टिफ़ैक्ट को target में प्रकाशित करता है, वैकल्पिक रूप से stages और comment के साथ; कॉलर को लक्ष्य रिपॉज़िटरी में भी artifact.promote चाहिए। mode copy (डिफ़ॉल्ट) स्रोत को बनाए रखता है; move, जिसके लिए यहाँ भी artifact.promote चाहिए, उसी ट्रांज़ैक्शन में स्रोत को सेवामुक्त (retire) कर देता है, उसके स्टेज साथ ले जाता है और जब स्रोत हटाया न जा सके तो 409 से अस्वीकार किया जाता है। उत्तर प्रति के साथ 201 है; दोहराने पर वही प्रति 200 के साथ मिलती है, और जिस लक्ष्य में यह पैकेज संस्करण पहले से है वह SHA-256 मेल खाने पर वही आर्टिफ़ैक्ट लौटाता है और न मिलने पर 409 version_exists। बिल्ड अटैचमेंट और फ़ाइल पथ साथ नहीं जाते।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
idपथstring (uuid)हाँ—

अनुरोध बॉडी (application/json)

फ़ील्डप्रकारआवश्यकनियम
targetstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
modestringनहींइनमें से एक: copy, move
stagesstring का ऐरेनहींअधिकतम 16 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: पैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$
commentstringनहींअधिकतम 1024 वर्ण; null हो सकता है

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
repositorystringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
artifactIdstring (uuid)हाँ—
sourceRepositorystringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
sourceArtifactIdstring (uuid)हाँ—
modestringहाँइनमें से एक: copy, move
createdbooleanहाँ—
stagesstring का ऐरेहाँअधिकतम 16 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: पैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$

प्रतिक्रियाएँ: 200, 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

उदाहरण

bash
curl -X POST "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/artifacts/$ID/promote" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"target":"<target>"}'

स्टेज वाले आर्टिफ़ैक्ट सूचीबद्ध करें ​

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

एक्सेस: रिपॉज़िटरी अनुमति: artifact.list; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

रिपॉज़िटरी की स्टेज प्रविष्टियाँ (आर्टिफ़ैक्ट, स्टेज, समय, कर्ता, टिप्पणी) आर्टिफ़ैक्ट और स्टेज के क्रम में सूचीबद्ध करता है, वैकल्पिक रूप से केवल stage, या केवल ids में दिए आर्टिफ़ैक्ट (अल्पविराम से अलग की गई 1–100 ID, उदाहरण के लिए पैकेजों के एक पृष्ठ के स्टेज एक साथ दिखाने के लिए)। प्रत्येक पृष्ठ में limit प्रविष्टियाँ होती हैं (1–100, डिफ़ॉल्ट 100); after में next (<artifactId>/<stage>) देकर आगे बढ़ें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
stageक्वेरीstringनहींपैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$
afterक्वेरीstringनहीं—
limitक्वेरीstringनहींदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; At most 100.
idsक्वेरीstringनहींअधिकतम 3699 वर्ण; Up to 100 comma-separated artifact ids.

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].artifactIdstring (uuid)हाँ—
items[].stagestringहाँपैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$
items[].promotedAtstring (date-time)हाँ—
items[].actorstringहाँ—
items[].commentstringहाँअधिकतम 1024 वर्ण; null हो सकता है
nextstringहाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/stages" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

रिपॉज़िटरी का प्रमोशन जर्नल अनुसरण करें ​

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

एक्सेस: रिपॉज़िटरी अनुमति: artifact.list; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

CI/CD के पोल करने के लिए रिपॉज़िटरी के हर आर्टिफ़ैक्ट की स्टेज और प्रमोशन घटनाएँ, सबसे पुरानी पहले, लौटाता है: स्टेज जोड़ा या हटाया गया, दूसरी रिपॉज़िटरी में प्रमोट किया गया, किसी से प्राप्त किया गया। प्रत्येक पृष्ठ में limit घटनाएँ होती हैं (1–100, डिफ़ॉल्ट 50); अंतिम sequence सहेजें और after में next देकर आगे बढ़ें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
afterक्वेरीstringनहींदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
limitक्वेरीstringनहींदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है; At most 100.

प्रतिक्रिया 200

फ़ील्डप्रकारआवश्यकनियम
itemsobject का ऐरेहाँअधिकतम 100 आइटम
items[].sequencestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
items[].repositorystringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
items[].artifactIdstring (uuid)हाँ—
items[].actionstringहाँइनमें से एक: stage.added, stage.removed, promoted, received
items[].stagestringहाँपैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$; null हो सकता है
items[].modestringहाँइनमें से एक: copy, move, null; null हो सकता है
items[].peerRepositorystringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$; null हो सकता है
items[].peerArtifactIdstring (uuid)हाँnull हो सकता है
items[].actorstringहाँ—
items[].commentstringहाँअधिकतम 1024 वर्ण; null हो सकता है
items[].occurredAtstring (date-time)हाँ—
nextstringहाँnull हो सकता है

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

bash
curl -X GET "$ARKVORY_URL/api/v1/repositories/$REPOSITORY/promotions" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

पैकेज संस्करण निर्धारित करें ​

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

एक्सेस: रिपॉज़िटरी अनुमति: package.read; फ़ाइल कुंजियाँ: read · पुनः प्रयास: दोहराना सुरक्षित है (पढ़ना)

downloadPackageContent के समान नियमों से एक पंजीकृत UPack संस्करण चुनता है और उसे बाइट के बिना लौटाता है: संस्करण, आर्टिफ़ैक्ट ID, SHA-256, आकार, प्रकाशन समय और वर्तमान स्टेज। name आवश्यक है, group डिफ़ॉल्ट रूप से रूट समूह है; सटीक version या SemVer range से चुनें, वैकल्पिक रूप से stage, prerelease=true और order=promoted (इसके लिए stage चाहिए); version और range के बिना यह सबसे ऊँचा स्थिर संस्करण है। कोई मेल न मिलने पर 404; उसी संस्करण पर बने रहने के लिए परिणाम को आर्टिफ़ैक्ट ID से डाउनलोड करें।

पैरामीटर

नामस्थानप्रकारआवश्यकनियम
repositoryपथstringहाँपैटर्न: ^[a-z0-9][a-z0-9_-]{0,63}$
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

फ़ील्डप्रकारआवश्यकनियम
groupstringहाँ—
namestringहाँ—
versionstringहाँ—
artifactIdstring (uuid)हाँ—
sha256stringहाँSHA-256: 64 लोअरकेस हेक्साडेसिमल अंक
sizestringहाँदशमलव अंकों में पूर्णांक, स्ट्रिंग के रूप में भेजा जाता है
publishedAtstring (date-time)हाँ—
stagedAtstring (date-time)हाँnull हो सकता है
stagesstring का ऐरेहाँअधिकतम 16 आइटम; कोई आइटम दोहराया न जाए; हर आइटम: पैटर्न: ^[a-z0-9][a-z0-9_.-]{0,31}$

प्रतिक्रियाएँ: 200, 400, 401, 403, 404, 409, 422, 503, 507

उदाहरण

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

Arkvory · ProAnimaStudio