Hub documentation

Webhooks Otomasyonu

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Webhooks Otomasyonu

Webhooks, Hugging Face'te belirli depoların veya depoların (bucket) yeni değişikliklerini dinlemenize ya da belirli bir kullanıcı/organizasyon grubuna ait tüm depolara (sadece sizin depolarınız değil, herhangi bir depo) ait değişiklikleri dinlemenize olanak tanır.

Bir Hugging Face deposunda değişiklik olduğunda bir Job’u tetikleyen bir webhook oluşturmak için huggingface_hub Python istemcisinde create_webhook kullanın:

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"
)

Bir bucket'a dosyalar eklendiğinde veya silindiğinde bir Job çalıştırmak için, bucket'ı izleyin:

webhook = create_webhook(
    job_id=job_id,
    watched=[{"type": "bucket", "name": "your-username/your-bucket"}],
    domains=["repo"],
    secrets={"HF_TOKEN": "hf_***"},
)

Tam bir örnek için Jobs ile bir kovadaki yeni dosyaları işleme konusuna bakın.

Webhook, aşağıdaki ortam değişkenleriyle Job'u tetikler:

  • WEBHOOK_PAYLOAD: JSON dizgesi olarak tam webhook yükü
  • WEBHOOK_REPO_ID: depo veya varlık adı (ör. user/repo-name)
  • WEBHOOK_REPO_TYPE: depo türü (model, dataset, space veya bucket)
  • WEBHOOK_SECRET: yapılandırılmışsa webhook gizli anahtarı
  • WEBHOOK_ID: teslimat için benzersiz bir tanımlayıcı, o teslimatın yeniden denemeleri arasında sabit kalır

Bir webhook çalıştırması, Job’un hacimlerini veya gizli bilgilerini (secrets) korumaz. Job’un ihtiyaç duyduğu HF_TOKEN gibi gizli bilgileri, create_webhook içinde secrets= ile iletin. Bir webhook’tan UV betiği çalıştırmak için işinizi hf jobs run <image> uv run <url> ile tanımlayın; aksi takdirde hf jobs uv run betiği bir hacme yükler ve webhook çalıştırmasının böyle bir hacmi yoktur.

Webhook yükü birden fazla alan içerir, işte birkaç faydalı olanı:

- 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

Webhooklar hakkında daha fazla bilgiyi huggingface_hub Webhooks belgelerinde bulabilirsiniz.

Update on GitHub