Kanboard-Prod/doc/tr_TR/webhooks.markdown

488 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Web kancası-Webhooks
========
Web kancası-Webhooks harici uygulamalarla işlemleri gerçekleştirmek için kullanışlıdır.
- Webhook'lar, basit bir URL'yi çağırarak bir görev oluşturmak için kullanılabilir (Bunu da API ile yapabilirsiniz)
- Kanboard'da bir olay meydana geldiğinde (görev yaratma, açıklama güncellendi, vb.) Harici bir URL otomatik olarak çağrılabilir
Web kancası-Webhooks alıcı nasıl yazılır?
---------------------------------
Kanboard'un tüm dahili olayları harici bir URL'ye gönderilebilir.
- Web kancası-Webhooks URL'si **Ayarlar> Web kancası-Webhooks> Web kancası-Webhooks URL** 'de tanımlanmalıdır.
- Bir olay tetiklendiğinde Kanboard önceden tanımlı URL'yi otomatik olarak çağırır
- Veriler JSON formatında kodlanır ve bir POST HTTP isteğiyle gönderilir
- Web kancası-Webhooks anahtarı-token da bir sorgu dizesi parametresi olarak gönderilir, böylece isteğin gerçekten Kanboard'dan geldiğini kontrol edebilirsiniz.
- **Özel URL'niz 1 saniyeden kısa bir sürede yanıt almalıdır**, bu istekler senkron (PHP sınırlaması) olup komut dosyası çok yavaşsa kullanıcı arayüzünü yavaşlatabilir!
### Desteklenen etkinlikler listesi
- comment.create
- comment.update
- comment.delete
- file.create
- task.move.project
- task.move.column
- task.move.position
- task.move.swimlane
- task.update
- task.create
- task.close
- task.open
- task.assignee_change
- subtask.update
- subtask.create
- subtask.delete
- task_internal_link.create_update
- task_internal_link.delete
### HTTP isteği örneği
```
POST https://your_webhook_url/?token=WEBHOOK_TOKEN_HERE
User-Agent: Kanboard Webhook
Content-Type: application/json
Connection: close
{
"event_name": "task.move.column",
"event_data": {
"task_id": "4",
"task": {
"id": "4",
"reference": "",
"title": "My task",
"description": "",
"date_creation": "1469314356",
"date_completed": null,
"date_modification": "1469315422",
"date_due": "1469491200",
"date_started": "0",
"time_estimated": "0",
"time_spent": "0",
"color_id": "green",
"project_id": "1",
"column_id": "1",
"owner_id": "1",
"creator_id": "1",
"position": "1",
"is_active": "1",
"score": "0",
"category_id": "0",
"priority": "0",
"swimlane_id": "0",
"date_moved": "1469315422",
"recurrence_status": "0",
"recurrence_trigger": "0",
"recurrence_factor": "0",
"recurrence_timeframe": "0",
"recurrence_basedate": "0",
"recurrence_parent": null,
"recurrence_child": null,
"category_name": null,
"swimlane_name": null,
"project_name": "Demo Project",
"default_swimlane": "Default swimlane",
"column_title": "Backlog",
"assignee_username": "admin",
"assignee_name": null,
"creator_username": "admin",
"creator_name": null
},
"changes": {
"src_column_id": "2",
"dst_column_id": "1",
"date_moved": "1469315398"
},
"project_id": "1",
"position": 1,
"column_id": "1",
"swimlane_id": "0",
"src_column_id": "2",
"dst_column_id": "1",
"date_moved": "1469315398",
"recurrence_status": "0",
"recurrence_trigger": "0"
}
}
```
Tüm etkinlik yükleri aşağıdaki biçimde:
```json
{
"event_name": "model.event_name",
"event_data": {
"key1": "value1",
"key2": "value2",
...
}
}
```
`event_data` değerleri olaylar arasında normalize edilmek zorunda değildir.
### Etkinlik yükü örnekleri
Görev yaratma:
```json
{
"event_name": "task.create",
"event_data": {
"task_id": 5,
"task": {
"id": "5",
"reference": "",
"title": "My new task",
"description": "",
"date_creation": "1469315481",
"date_completed": null,
"date_modification": "1469315481",
"date_due": "0",
"date_started": "0",
"time_estimated": "0",
"time_spent": "0",
"color_id": "orange",
"project_id": "1",
"column_id": "2",
"owner_id": "1",
"creator_id": "1",
"position": "1",
"is_active": "1",
"score": "3",
"category_id": "0",
"priority": "2",
"swimlane_id": "0",
"date_moved": "1469315481",
"recurrence_status": "0",
"recurrence_trigger": "0",
"recurrence_factor": "0",
"recurrence_timeframe": "0",
"recurrence_basedate": "0",
"recurrence_parent": null,
"recurrence_child": null,
"category_name": null,
"swimlane_name": null,
"project_name": "Demo Project",
"default_swimlane": "Default swimlane",
"column_title": "Ready",
"assignee_username": "admin",
"assignee_name": null,
"creator_username": "admin",
"creator_name": null
}
}
}
```
Görev değişikliği:
```json
{
"event_name": "task.update",
"event_data": {
"task_id": "5",
"task": {
"id": "5",
"reference": "",
"title": "My new task",
"description": "New description",
"date_creation": "1469315481",
"date_completed": null,
"date_modification": "1469315531",
"date_due": "1469836800",
"date_started": "0",
"time_estimated": "0",
"time_spent": "0",
"color_id": "purple",
"project_id": "1",
"column_id": "2",
"owner_id": "1",
"creator_id": "1",
"position": "1",
"is_active": "1",
"score": "3",
"category_id": "0",
"priority": "2",
"swimlane_id": "0",
"date_moved": "1469315481",
"recurrence_status": "0",
"recurrence_trigger": "0",
"recurrence_factor": "0",
"recurrence_timeframe": "0",
"recurrence_basedate": "0",
"recurrence_parent": null,
"recurrence_child": null,
"category_name": null,
"swimlane_name": null,
"project_name": "Demo Project",
"default_swimlane": "Default swimlane",
"column_title": "Ready",
"assignee_username": "admin",
"assignee_name": null,
"creator_username": "admin",
"creator_name": null
},
"changes": {
"description": "New description",
"color_id": "purple",
"date_due": 1469836800
}
}
}
```
Görev güncelleme etkinlikleri, güncellenmiş değerleri içeren `changes` adı verilen bir alana sahiptir.
Yorum yaratma:
```json
{
"event_name": "comment.create",
"event_data": {
"comment": {
"id": "1",
"task_id": "5",
"user_id": "1",
"date_creation": "1469315727",
"comment": "My comment.",
"reference": null,
"username": "admin",
"name": null,
"email": null,
"avatar_path": null
},
"task": {
"id": "5",
"reference": "",
"title": "My new task",
"description": "New description",
"date_creation": "1469315481",
"date_completed": null,
"date_modification": "1469315531",
"date_due": "1469836800",
"date_started": "0",
"time_estimated": "0",
"time_spent": "0",
"color_id": "purple",
"project_id": "1",
"column_id": "2",
"owner_id": "1",
"creator_id": "1",
"position": "1",
"is_active": "1",
"score": "3",
"category_id": "0",
"priority": "2",
"swimlane_id": "0",
"date_moved": "1469315481",
"recurrence_status": "0",
"recurrence_trigger": "0",
"recurrence_factor": "0",
"recurrence_timeframe": "0",
"recurrence_basedate": "0",
"recurrence_parent": null,
"recurrence_child": null,
"category_name": null,
"swimlane_name": null,
"project_name": "Demo Project",
"default_swimlane": "Default swimlane",
"column_title": "Ready",
"assignee_username": "admin",
"assignee_name": null,
"creator_username": "admin",
"creator_name": null
}
}
}
```
Alt görev yaratma:
```json
{
"event_name": "subtask.create",
"event_data": {
"subtask": {
"id": "1",
"title": "My subtask",
"status": "0",
"time_estimated": "0",
"time_spent": "0",
"task_id": "5",
"user_id": "1",
"position": "1",
"username": "admin",
"name": null,
"timer_start_date": 0,
"status_name": "Todo",
"is_timer_started": false
},
"task": {
"id": "5",
"reference": "",
"title": "My new task",
"description": "New description",
"date_creation": "1469315481",
"date_completed": null,
"date_modification": "1469315531",
"date_due": "1469836800",
"date_started": "0",
"time_estimated": "0",
"time_spent": "0",
"color_id": "purple",
"project_id": "1",
"column_id": "2",
"owner_id": "1",
"creator_id": "1",
"position": "1",
"is_active": "1",
"score": "3",
"category_id": "0",
"priority": "2",
"swimlane_id": "0",
"date_moved": "1469315481",
"recurrence_status": "0",
"recurrence_trigger": "0",
"recurrence_factor": "0",
"recurrence_timeframe": "0",
"recurrence_basedate": "0",
"recurrence_parent": null,
"recurrence_child": null,
"category_name": null,
"swimlane_name": null,
"project_name": "Demo Project",
"default_swimlane": "Default swimlane",
"column_title": "Ready",
"assignee_username": "admin",
"assignee_name": null,
"creator_username": "admin",
"creator_name": null
}
}
}
```
Dosya yükleme:
```json
{
"event_name": "task.file.create",
"event_data": {
"file": {
"id": "1",
"name": "kanboard-latest.zip",
"path": "tasks/5/6f32893e467e76671965b1ec58c06a2440823752",
"is_image": "0",
"task_id": "5",
"date": "1469315613",
"user_id": "1",
"size": "4907308"
},
"task": {
"id": "5",
"reference": "",
"title": "My new task",
"description": "New description",
"date_creation": "1469315481",
"date_completed": null,
"date_modification": "1469315531",
"date_due": "1469836800",
"date_started": "0",
"time_estimated": "0",
"time_spent": "0",
"color_id": "purple",
"project_id": "1",
"column_id": "2",
"owner_id": "1",
"creator_id": "1",
"position": "1",
"is_active": "1",
"score": "3",
"category_id": "0",
"priority": "2",
"swimlane_id": "0",
"date_moved": "1469315481",
"recurrence_status": "0",
"recurrence_trigger": "0",
"recurrence_factor": "0",
"recurrence_timeframe": "0",
"recurrence_basedate": "0",
"recurrence_parent": null,
"recurrence_child": null,
"category_name": null,
"swimlane_name": null,
"project_name": "Demo Project",
"default_swimlane": "Default swimlane",
"column_title": "Ready",
"assignee_username": "admin",
"assignee_name": null,
"creator_username": "admin",
"creator_name": null
}
}
}
```
Görev bağlantısı oluşturulması:
```json
{
"event_name": "task_internal_link.create_update",
"event_data": {
"task_link": {
"id": "2",
"opposite_task_id": "5",
"task_id": "4",
"link_id": "3",
"label": "is blocked by",
"opposite_link_id": "2"
},
"task": {
"id": "4",
"reference": "",
"title": "My task",
"description": "",
"date_creation": "1469314356",
"date_completed": null,
"date_modification": "1469315422",
"date_due": "1469491200",
"date_started": "0",
"time_estimated": "0",
"time_spent": "0",
"color_id": "green",
"project_id": "1",
"column_id": "1",
"owner_id": "1",
"creator_id": "1",
"position": "1",
"is_active": "1",
"score": "0",
"category_id": "0",
"priority": "0",
"swimlane_id": "0",
"date_moved": "1469315422",
"recurrence_status": "0",
"recurrence_trigger": "0",
"recurrence_factor": "0",
"recurrence_timeframe": "0",
"recurrence_basedate": "0",
"recurrence_parent": null,
"recurrence_child": null,
"category_name": null,
"swimlane_name": null,
"project_name": "Demo Project",
"default_swimlane": "Default swimlane",
"column_title": "Backlog",
"assignee_username": "admin",
"assignee_name": null,
"creator_username": "admin",
"creator_name": null
}
}
}
```