summaryrefslogtreecommitdiff
path: root/doc/ru_RU/webhooks.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ru_RU/webhooks.markdown')
-rw-r--r--doc/ru_RU/webhooks.markdown477
1 files changed, 0 insertions, 477 deletions
diff --git a/doc/ru_RU/webhooks.markdown b/doc/ru_RU/webhooks.markdown
deleted file mode 100644
index dbba0867..00000000
--- a/doc/ru_RU/webhooks.markdown
+++ /dev/null
@@ -1,477 +0,0 @@
-Webhooks
-========
-
-Webhooks служат для взаимодействия с внешними приложениями. Webhook посылает уведомление стороннему приложению о событиях, которые произошли в Канборд.
-
-
-- Webhooks могут быть использованы для создания задач вызовом простого URL (Вы можете сделать это и при помощи API)
-- Обращение к внешнему приложению может происходить автоматически, когда наступает какое-либо событие в Канборд (создана задача, обновлен комментарий и т.д.)
-
-
-
-Как написать webhook приемник во внешнем приложении?[¶](#how-to-write-a-web-hook-receiver "Ссылка на этот заголовок")
----------------------------------------------------------------------------------------------------------------------
-
-Все внутренние события в Канборде могут быть посланы во внешний URL.
-
-- Webhook URL (url приемник внешнего приложения) может быть задан в **Настройки** -\> **Webhooks** -\> **Webhook URL**
-- Когда в Канборде происходит событие, Канборд обращается к указанному URL автоматически
-- Данные конвертируются в формат JSON и передаются с помощью POST HTTP запроса
-- Webhook ключ передается в составе запроса в виде строкового параметра. Таким образом, вы можете проверить, что запрос на самом деле пришел из Канборда.
-- **Созданный вами URL должен среагировать в течении 1 секунды**. Это желательно сделать потому, что запросы являются синхронными (ограничения языка PHP) и возможны тормоза в пользовательском интерфейсе, если скрипт будет слишком медленный!
-
-
-
-### Список поддерживаемых событий[¶](#list-of-supported-events "Ссылка на этот заголовок")
-
-- 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 запроса[¶](#example-of-http-request "Ссылка на этот заголовок")
-
-
-
- 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": "1",
-
- "project_id": "1",
-
- "position": 1,
-
- "column_id": "1",
-
- "swimlane_id": "0",
-
- "src_column_id": "2",
-
- "dst_column_id": "1",
-
- "date_moved": "1431991532",
-
- "recurrence_status": "0",
-
- "recurrence_trigger": "0"
-
- }
-
- }
-
-
-
-Функциональная часть всех событий имеет следующий формат:
-
-
-
- {
-
- "event_name": "model.event_name",
-
- "event_data": {
-
- "key1": "value1",
-
- "key2": "value2",
-
- ...
-
- }
-
- }
-
-
-
-Значения `event_data`{.docutils .literal} могут быть неупорядочены в событиях.
-
-
-
-### Пример функциональной части события[¶](#examples-of-event-payloads "Ссылка на этот заголовок")
-
-
-
-Создание задачи:
-
-
-
- {
-
- "event_name": "task.create",
-
- "event_data": {
-
- "title": "Demo",
-
- "description": "",
-
- "project_id": "1",
-
- "owner_id": "1",
-
- "category_id": 0,
-
- "swimlane_id": 0,
-
- "column_id": "2",
-
- "color_id": "yellow",
-
- "score": 0,
-
- "time_estimated": 0,
-
- "date_due": 0,
-
- "creator_id": 1,
-
- "date_creation": 1431991532,
-
- "date_modification": 1431991532,
-
- "date_moved": 1431991532,
-
- "position": 1,
-
- "task_id": 1
-
- }
-
- }
-
-
-
-Изменение задачи:
-
-
-
- {
-
- "event_name": "task.update",
-
- "event_data": {
-
- "id": "1",
-
- "title": "Demo",
-
- "description": "",
-
- "date_creation": "1431991532",
-
- "color_id": "yellow",
-
- "project_id": "1",
-
- "column_id": "1",
-
- "owner_id": "1",
-
- "position": "1",
-
- "is_active": "1",
-
- "date_completed": null,
-
- "score": "0",
-
- "date_due": "0",
-
- "category_id": "2",
-
- "creator_id": "1",
-
- "date_modification": 1431991603,
-
- "reference": "",
-
- "date_started": 1431993600,
-
- "time_spent": 0,
-
- "time_estimated": 0,
-
- "swimlane_id": "0",
-
- "date_moved": "1431991572",
-
- "recurrence_status": "0",
-
- "recurrence_trigger": "0",
-
- "recurrence_factor": "0",
-
- "recurrence_timeframe": "0",
-
- "recurrence_basedate": "0",
-
- "recurrence_parent": null,
-
- "recurrence_child": null,
-
- "task_id": "1",
-
- "changes": {
-
- "category_id": "2"
-
- }
-
- }
-
- }
-
-
-
-События изменеия задачи имеют поле `changes`{.docutils .literal}, которое содержит обновленные значения.
-
-
-
-Перемещение задачи в другую колонку:
-
-
-
- {
-
- "event_name": "task.move.column",
-
- "event_data": {
-
- "task_id": "1",
-
- "project_id": "1",
-
- "position": 1,
-
- "column_id": "1",
-
- "swimlane_id": "0",
-
- "src_column_id": "2",
-
- "dst_column_id": "1",
-
- "date_moved": "1431991532",
-
- "recurrence_status": "0",
-
- "recurrence_trigger": "0"
-
- }
-
- }
-
-
-
-Перемещение задачи в другое место:
-
-
-
- {
-
- "event_name": "task.move.position",
-
- "event_data": {
-
- "task_id": "2",
-
- "project_id": "1",
-
- "position": 1,
-
- "column_id": "1",
-
- "swimlane_id": "0",
-
- "src_column_id": "1",
-
- "dst_column_id": "1",
-
- "date_moved": "1431996905",
-
- "recurrence_status": "0",
-
- "recurrence_trigger": "0"
-
- }
-
- }
-
-
-
-Создание комментария:
-
-
-
- {
-
- "event_name": "comment.create",
-
- "event_data": {
-
- "id": 1,
-
- "task_id": "1",
-
- "user_id": "1",
-
- "comment": "test",
-
- "date_creation": 1431991615
-
- }
-
- }
-
-
-
-Изменение комментария:
-
-
-
- {
-
- "event_name": "comment.update",
-
- "event_data": {
-
- "id": "1",
-
- "task_id": "1",
-
- "user_id": "1",
-
- "comment": "test edit"
-
- }
-
- }
-
-
-
-Создание подзадачи:
-
-
-
- {
-
- "event_name": "subtask.create",
-
- "event_data": {
-
- "id": 3,
-
- "task_id": "1",
-
- "title": "Test",
-
- "user_id": "1",
-
- "time_estimated": "2",
-
- "position": 3
-
- }
-
- }
-
-
-
-Изменение подзадачи:
-
-
-
- {
-
- "event_name": "subtask.update",
-
- "event_data": {
-
- "id": "1",
-
- "status": 1,
-
- "task_id": "1"
-
- }
-
- }
-
-
-
-Загрузка файла:
-
-
-
- {
-
- "event_name": "file.create",
-
- "event_data": {
-
- "task_id": "1",
-
- "name": "test.png"
-
- }
-
- }
-
-
-
-Создан снимок экрана:
-
-
-
- {
-
- "event_name": "file.create",
-
- "event_data": {
-
- "task_id": "2",
-
- "name": "Screenshot taken May 19, 2015 at 10:56 AM"
-
- }
-
- }
-
-
-
-
-
-
-
-[Русская документация Kanboard](http://kanboard.ru/doc/)
-