INTEGRITY Dokumentace

Import repozitářů

Repozitář naimportujte, pokud již máte základní repozitář mimo Artifacts a chcete ho začít používat jako repozitář Artifacts.

Hodí se to pro:

Artifacts importuje veřejné vzdálené repozitáře HTTPS prostřednictvím REST API nebo Workers binding. Po importu má repozitář běžnou vzdálenou URL Artifacts a lze ho klonovat, forkovat nebo pro něj vydávat tokeny s rozsahem repozitáře stejně jako u jakéhokoli jiného repozitáře.

Zkontrolujte Jmenné prostory nejprve a poté používejte jeden název jmenného prostoru jednotně v celém importním workflow.

Import veřejného repozitáře HTTPS

Tento příklad importuje veřejný repozitář GitHub do default jmenný prostor. Stejný postup můžete použít i pro jiné veřejné vzdálené repozitáře Git přes HTTPS.

Použijte Token Cloudflare API hodnotou Artefakty > Úprava.

Tento příklad používá jq k extrakci vrácených polí.

export ACCOUNT_ID="<YOUR_ACCOUNT_ID>"
export ARTIFACTS_NAMESPACE="default"
export ARTIFACTS_REPO="workers-sdk-baseline"
export CLOUDFLARE_API_TOKEN="<YOUR_API_TOKEN>"
export ARTIFACTS_BASE_URL="https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/artifacts/namespaces/$ARTIFACTS_NAMESPACE"
IMPORT_RESPONSE=$(curl --silent --request POST "$ARTIFACTS_BASE_URL/repos/$ARTIFACTS_REPO/import" \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
     "url": "https://github.com/cloudflare/workers-sdk",
     "branch": "main",
     "depth": 100
   }')

if ! printf '%s' "$IMPORT_RESPONSE" | jq -e '.success == true' > /dev/null; then
  printf '%s\n' "$IMPORT_RESPONSE" | jq .
  exit 1
fi

export ARTIFACTS_REMOTE=$(printf '%s' "$IMPORT_RESPONSE" | jq -r '.result.remote')
export ARTIFACTS_TOKEN=$(printf '%s' "$IMPORT_RESPONSE" | jq -r '.result.token')

Odpověď obsahuje metadata nového repozitáře Artifacts, včetně result.remote a result.token.

Pokud požadavek selže, tato kontrola vypíše odpověď API a ukončí se dříve, než exportuje prázdné hodnoty.

Token kóduje svou platnost přímo v ?expires= příponu.

Považujte result.token jako tajný údaj. Nezaznamenávejte ho do protokolu ani ho neukládejte do dlouhodobě platné vzdálené URL adresy, pokud to nevyžaduje váš workflow.

Import může po odeslání této odpovědi stále probíhat. Pokud následné volání REST API vrátí 409 Conflict, zkuste to znovu po krátké prodlevě.

Použijte importovaný repozitář

Jakmile import skončí, používejte repozitář jako kterýkoli jiný repozitář Artifacts.

Podrobnosti o koncovém bodu najdete v REST API. Podrobnosti o autentizaci najdete v Ověřování.