← Artifacts / artifacts / guides
Импорт репозиториев
Импортируйте существующий репозиторий, если у вас уже есть базовая версия за пределами Artifacts и вы хотите начать использовать её как репозиторий Artifacts.
Это хорошо подходит для:
- базовый репозиторий, который форкают агенты
- шаблонный репозиторий для новых сессий или пользователей
- общий репозиторий с промптами или конфигурацией, используемый в разных рабочих процессах
Artifacts импортирует публичные удалённые репозитории по HTTPS через REST API или привязка Workers. После импорта у репозитория появляется обычный удалённый URL Artifacts, и его можно клонировать, форкать или выпускать для него токены с областью действия репозитория, как для любого другого репозитория.
Проверьте Пространства имён сначала, затем используйте одно и то же имя пространства имён на протяжении всего процесса импорта.
Импортировать публичный репозиторий по HTTPS
В этом примере публичный репозиторий GitHub импортируется в default пространство имён. Тот же процесс можно использовать и с другими публичными удалёнными репозиториями Git по HTTPS.
Используйте API-токен Cloudflare с Артефакты > Изменить.
В этом примере используется jq для извлечения возвращённых полей.
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')В ответе содержатся метаданные нового репозитория Artifacts, включая result.remote и result.token.
Если запрос завершается ошибкой, эта проверка выводит ответ API и завершает работу до экспорта пустых значений.
Токен кодирует срок действия непосредственно в ?expires= суффикс.
Обрабатывать result.token как секрет. Не выводите его в журналы и не сохраняйте в долгоживущем URL удалённого репозитория, если это не требуется для вашего рабочего процесса.
Импорт может всё ещё выполняться после того, как этот запрос вернёт ответ. Если последующие вызовы REST API возвращают 409 Conflict, повторите попытку через небольшую задержку.
Используйте импортированный репозиторий
После завершения импорта используйте репозиторий как любой другой репозиторий Artifacts.
- Используйте его как стабильный базовый репозиторий и создавайте от него форки для работы агентов
- клонируйте его с помощью токена, привязанного к репозиторию, для прямого доступа через Git
- пометьте его как доступный только для чтения, если хотите зафиксированный репозиторий-шаблон
Подробности об эндпоинте см. в REST API. Подробнее об аутентификации см. Аутентификация.