Hub documentation

أتمتة Webhooks

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

أتمتة Webhooks

تتيح لك Webhooks الاستماع إلى التغييرات الجديدة على مستودعات أو دلاء محددة، أو على جميع المستودعات التابعة لمجموعة معينة من المستخدمين/المنظمات (وليس مستودعاتك فقط، بل أي مستودع) على Hugging Face.

استخدم create_webhook في عميل huggingface_hub بلغة بايثون لإنشاء خطاف ويب (webhook) يُطلق مهمة (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"
)

لتنفيذ مهمة عند إضافة ملفات إلى bucket أو حذفها منه، راقب الدلو:

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

لمثال كامل، راجع معالجة ملفات جديدة في دلو باستخدام Jobs.

يُطلق الويب هوك المهمة مع متغيرات البيئة التالية:

  • WEBHOOK_PAYLOAD: الحمولة الكاملة للويب هوك كنص JSON
  • WEBHOOK_REPO_ID: اسم المستودع أو الدلو (مثلًا user/repo-name)
  • WEBHOOK_REPO_TYPE: نوع المستودع (model، dataset، space، أو bucket)
  • WEBHOOK_SECRET: سر الويب هوك، إذا تم تكوينه
  • WEBHOOK_ID: معرّف فريد للتسليم، يظل ثابتًا عبر محاولات إعادة التسليم الخاصة بذلك

لا تحتفظ عملية تشغيل Webhook بأحجام Job أو أسرارها. مرّر الأسرار التي يحتاجها Job، مثل HF_TOKEN، باستخدام secrets= في create_webhook. لتشغيل سكربت UV من Webhook، عرّف وظيفتك باستخدام 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

يمكنك العثور على مزيد من المعلومات حول webhooks في توثيق Webhooks الخاص بـhuggingface_hub.

Update on GitHub