# 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:

```python
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](./storage-buckets)'a dosyalar eklendiğinde veya silindiğinde bir Job çalıştırmak için, bucket'ı izleyin:

```python
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](./webhooks-guide-bucket-jobs) 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

> [!WARNING]
> 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](https://huggingface.co/docs/huggingface_hub/en/guides/webhooks) bulabilirsiniz.

