Hub documentation
Webhooks Автоматизация
Webhooks Автоматизация
Webhooks позволяют отслеживать новые изменения в конкретных репозиториях или баках, а также во всех репозиториях, принадлежащих определенному набору пользователей или организаций (не только ваши репозитории, но и любые другие) на Hugging Face.
Используйте create_webhook в Python-клиенте huggingface_hub, чтобы создать вебхук, который запускает Job при изменении в репозитории Hugging Face:
from huggingface_hub import create_webhook
# Example: Creating a webhook that triggers a Job
webhook = create_webhook(
job_id=job_id,
watched=[{"type": "user", "name": "your-username"}, {"type": "org", "name": "your-org-name"}],
domains=["repo", "discussion"],
secret="your-secret"
)Чтобы запускать Job при добавлении или удалении файлов из bucket, отслеживайте bucket:
webhook = create_webhook(
job_id=job_id,
watched=[{"type": "bucket", "name": "your-username/your-bucket"}],
domains=["repo"],
secrets={"HF_TOKEN": "hf_***"},
)Полный пример см. в Обработка новых файлов в бакете с помощью Jobs.
Вебхук запускает Job со следующими переменными окружения:
WEBHOOK_PAYLOAD: полный вебхук-пейлоад в виде JSON-строкиWEBHOOK_REPO_ID: имя репозитория или хранилища (например,user/repo-name)WEBHOOK_REPO_TYPE: тип репозитория (model,dataset,spaceилиbucket)WEBHOOK_SECRET: секрет вебхука, если он был настроенWEBHOOK_ID: уникальный идентификатор доставки, остающийся неизменным при повторных попытках этой доставки
Запуск вебхука не сохраняет тома и секреты задачи. Передавайте необходимые для задачи секреты, например
HF_TOKEN, с помощью параметраsecrets=вcreate_webhook. Чтобы запустить UV-скрипт из вебхука, определите задачу с помощьюhf jobs run <image> uv run <url>, иначеhf jobs uv runзагрузит скрипт в том, которого нет при запуске вебхука.
Платформ webhook содержит несколько полей, вот некоторые из полезных:
- event:
- action: one of "create", "delete", "move", "update"
- scope: string
- repo:
- owner: string
- headSha: string (not sent for buckets)
- name: string
- type: one of "dataset", "model", "space", "bucket"
- updatedFiles: for bucket file changes, the list of added and deleted filesПодробнее о вебхуках можно узнать в документации по вебхукам huggingface_hub.