Hub documentation
Automatisation des Webhooks
Automatisation des Webhooks
Les webhooks vous permettent de surveiller les nouvelles modifications sur des dépôts ou des buckets spécifiques, ou sur l’ensemble des dépôts appartenant à un ensemble particulier d’utilisateurs/organisations (pas seulement vos dépôts, mais n’importe quel dépôt) sur Hugging Face.
Utilisez create_webhook dans le client Python huggingface_hub pour créer un webhook qui déclenche un Job lorsqu’une modification survient dans un dépôt 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"
)Pour exécuter un Job lorsque des fichiers sont ajoutés ou supprimés d’un bucket, surveillez le bucket :
webhook = create_webhook(
job_id=job_id,
watched=[{"type": "bucket", "name": "your-username/your-bucket"}],
domains=["repo"],
secrets={"HF_TOKEN": "hf_***"},
)Pour un exemple complet, consultez Process new files in a bucket with Jobs.
Le webhook déclenche le Job avec les variables d’environnement suivantes :
WEBHOOK_PAYLOAD: la charge utile complète du webhook en tant que chaîne JSONWEBHOOK_REPO_ID: le nom du dépôt ou du bucket (par exemple,user/repo-name)WEBHOOK_REPO_TYPE: le type de dépôt (model,dataset,spaceoubucket)WEBHOOK_SECRET: le secret du webhook, s'il a été configuréWEBHOOK_ID: un identifiant unique pour la livraison, stable lors des nouvelles tentatives de cette livraison
L’exécution d’un webhook ne conserve ni les volumes ni les secrets du Job. Transmettez les secrets dont le Job a besoin, tels que
HF_TOKEN, à l’aide desecrets=danscreate_webhook. Pour exécuter un script UV depuis un webhook, définissez votre job avechf jobs run <image> uv run <url>, car sinonhf jobs uv runtélécharge le script sur un volume, ce dont une exécution webhook ne dispose pas.
La charge utile du webhook contient plusieurs champs, voici quelques-uns des plus utiles :
- 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 filesVous trouverez plus d'informations sur les webhooks dans la documentation des Webhooks de huggingface_hub.