WORKSECTION

Задания

Получение списка всех задач аккаунта через API: get_all_tasks

Пример get_all_tasks запроса

 https://your-domain.com/api/admin/v2/?action=get_all_tasks&hash=HASH 

Параметры дат:
  • date_added – дата и время создания задачи
  • date_closed – дата и время закрытия задачи
  • date_start – дата, когда задача должна стартовать (если указано) 
  • date_end – дата, когда задача должна быть закрыта (если указано) 

Необязательные параметры:
  • &show_subtasks=1 – возвращает поле child (если доступно), которое содержит список подзадач в аналогичном формате. Доступно 2 уровня вложенности: task / subtasks / sub-subtasks.



Возвращает данные с названиями всех открытых и закрытых задач, их уникальным ID, приоритетом и ссылкой на задачи. В этом запросе параметр page не требуется.

  • Данные user_from и user_to содержат информацию об авторе и ответственном сотруднике
  • Данные max_time и max_money (если указаны) содержат информацию о плановых затратах задач
  • Данные tags (если указано) содержит информацию о статусе и метках

Пример JSON ответа

{
"status":"ok",
"data": [
{
"id": "TASK_ID",
"name":"TITLE",
"page":"/project/PROJECT_ID/TASK_ID/",
"status": "done",
"priority": "0..10",
"user_from": {
"email": "USER_EMAIL",
"name": "USER_NAME"
},
"user_to": {
"email":"USER_EMAIL",
"name": "USER_NAME"
},
"date_added": "YYYY-MM-DD HH:II",
"date_start": "YYYY-MM-DD",
"date_end": "YYYY-MM-DD",
"date_closed": "YYYY-MM-DD HH:II",
"max_time":"50",
"max_money": "100",
"tags":"complete",
"child": [
{
"id": "SUBTASK_ID",
"name":"SUBTASK_NAME",
"page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
"status": "done",
"priority": "0..10",
"user_from": {
"email": "USER_EMAIL",
"name": "USER_NAME"
},
"user_to": {
"email": "USER_EMAIL",
"name": "USER_NAME"
},
"date_added": "YYYY-MM-DD HH:II",
"date_start": "YYYY-MM-DD",
"date_end": "YYYY-MM-DD",
"date_closed": "YYYY-MM-DD HH:II",
"max_time":"25",
"max_money":"50",
"tags":"complete"
}
} ]
}

Получение задачи проекта через API : get_task

Пример get_task запроса

https://your-domain.com/api/admin/v2/?action=get_task&page=/project/PROJECT_ID/TASK_ID/&hash=HASH

Обязательные параметры:
page – ссылка на задачу

Необязательные параметры:
extra=text и extra=html – добавит в возвращаемые данные поле text или html, которое содержит описание задачи

Возвращаемые данные:
  • id – ее уникальный номер
  • name – название задачи
  • status – статус (active или done)
  • priority – приоритет и ссылку на задачу
  • user_from и user_to – объекты с данными об авторе и ответственном
  • date_added – дата и время создания задачи
  • date_closed – дата и время закрытия задачи
  • date_start – дата, когда задача должна стартовать (если указано)
  • date_end – дата, когда задача должна быть закрыта (если указано)
  • max_time и max_money – плановых затраты
  • tags – асоциативный массив статусов и меток
  • project – объекты с краткими данными о проекте

Пример JSON ответа
{
  "status": "ok",
  "data": {
    "id": "TASK_ID",
    "name": "TITLE",
    "page": "/project/PROJECT_ID/TASK_ID/",
    "status": "active",
    "priority": "0..10",
    "user_from": {
      "email": "USER_EMAIL",
      "name": "USER_NAME"
    },
    "user_to": {
      "email": "USER_EMAIL",
      "name": "USER_NAME"
    },
    "project": {
      "id": "PROJECT_ID",
      "name": "PROJECT_TITLE",
      "page": "/project/PROJECT_ID/"
    },
    "date_added": "YYYY-MM-DD HH:II",
    "date_start": "YYYY-MM-DD",
    "date_end": "YYYY-MM-DD",
    "date_closed": "YYYY-MM-DD HH:II",
    "max_time": "25",
    "max_money": "50",
    "tags": {
      3: "In progress",
      6: "Billable"
    }
  }
}

Получение списка задач проекта через API : get_tasks

Пример get_tasks запроса

https://your-domain.com/api/admin/v2/?action=get_tasks&
page=/project/PROJECT_ID/&hash=HASH
Параметры дат:
  • date_added – дата и время создания задачи
  • date_closed – дата и время закрытия задачи
  • date_start – дата, когда задача должна стартовать (если указано) 
  • date_end – дата, когда задача должна быть закрыта (если указано)

Необязательные параметры:
  • &show_subtasks=1 – возвращает поле child (если доступно), которое содержит список подзадач в аналогичном формате. Доступно 2 уровня вложенности: task / subtasks / sub-subtasks. 
  • &text=1 – возвращает параметр text, который содержит описание задачи
  • &filter=active – возвращает данные только открытых задач проекта



Возвращает данные с наименованиями задач проекта, их уникального ID, статусами (active или done), приоритетами и ссылками.

  • user_from и user_to — содержат данные о авторе и ответственном сотруднике
  • max_time и max_money (если указаны) — содержат информацию о плановых затратах задач
  • tags (если указано) — содержит данные о статусе и метках
  • child (если доступно) — содержит список вложенных подзадач в аналогичном формате. Доступно 2 уровня вложенности: task / subtasks / sub-subtasks

Пример JSON ответа

{
"status": "ok",
"data":[
{
"id": "TASK_ID",
"name":"TITLE",
"page":"/project/PROJECT_ID/TASK_ID/",
"status": "done",
"priority": "0..10",
"user_from": {
"email": "USER_EMAIL",
"name": "USER_NAME"
},
"user_to": {
"email": "USER_EMAIL",
"name": "USER_NAME"
},
"date_added": "YYYY-MM-DD HH:II",
"date_start": "YYYY-MM-DD",
"date_end": "YYYY-MM-DD",
"date_closed": "YYYY-MM-DD HH:II",
"max_time": "50",
"max_money": "100",
"tags": "complete",
"child": [
{
"id":"SUBTASK_ID",
"name": "SUBTASK_NAME",
"page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
"status": "done",
"priority": "0..10",
"user_from": {
"email": "USER_EMAIL",
"name": "USER_NAME"
},
"user_to": {
"email": "USER_EMAIL",
"name": "USER_NAME"
},
"date_added": "YYYY-MM-DD HH:II",
"date_start": "YYYY-MM-DD",
"date_end": "YYYY-MM-DD",
"date_closed": "YYYY-MM-DD HH:II",
"max_time":"25",
"max_money":"50",
"tags":"complete"
}
]
},
{
"id": "TASK_ID",
"name":"TASK_NAME",
"page":"/project/PROJECT_ID/TASK_ID/",
"status": "active",
"user_from": {
"email": "USER_EMAIL",
"name": "USER_NAME"
},
"user_to": {
"email": "USER_EMAIL",
"name": "USER_NAME"
},
"date_added": "YYYY-MM-DD HH:II",
"date_start": "YYYY-MM-DD",
"date_end": "YYYY-MM-DD",
"tags": "in progress"
}
]
}

Создание задачи через API: post_task

Пример post_task запроса

https://your-domain.com/api/admin/v2/?action=post_task&page=
/project/PROJECT_ID/&email_user_from=USER_EMAIL&email_user_to=
USER_EMAIL&hidden=USER_EMAIL,USER_EMAIL&subscribe=USER_EMAIL,USER_EMAIL&
title=TASK_NAME&text=TASK_TEXT&priority=7&datestart=DD.MM.YYYY&dateend=
DD.MM.YYYY&tags=Tag1,Tag2&hash=HASH
 Параметр Page должно совпадать с URL проекта!
В данном запросе можно добавлять файлы (см. Как добавлять файлы)

Обязательные параметры:
  • email_user_from — email автора задания
  • email_user_to — email ответственного сотрудника по задаче (ANY для "любой сотрудник", NOONE для "без ответственного"
  • title — наименование задачи 

Необязательные параметры:
  • text – описание задачи 
  • tags – добавляет статусы/метки, например tags=TAG1,TAG2. Можно указывать наименования (если они уникальны) или ID 
  • Priority - приоритет, число от 0 до 10 
  • datestart - дата, когда задача должна стартовать в формате DD.MM.YYYY
  • dateend - дата, когда задача должна быть закрыта в формате DD.MM.YYYY
  • subscribe – список email сотрудников, разделенных запятой, которые будут подписаны на задачу
  • hidden - список email сотрудников, разделенных запятой, которые будут входить в круг видимости задачи. Для других сотрудников задача будет скрытой.
  • max_time – плановые затраты времени
  • max_money – плановые затраты денег
  • todo – чек-лист (например: todo[]=дело1&todo[]=дело2)



При успешном выполнении запроса, ответ будет содержать статус ok и следующие данные

{
    "status": "ok",
    "data": {
        "id": "TASK_ID",
        "name": "TASK_NAME",
        "page": "/project/PROJECT_ID/TASK_ID/",
        "status": "active",
        "priority": "7",
        "user_from": {
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "user_to": {
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "project": {
            "id": "PROJECT_ID",
            "name": "TASK_NAME",
            "page": "/project/PROJECT_ID/"
        },
        "text": "TASK_TEXT",
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD",
        "max_time": 40,
        "max_money": 200
    }
}

Создание подзадачи через API: post_subtask

Пример post_subtask запроса

https://your-domain.com/api/admin/v2/?action=post_subtask&page=
/project/PROJECT_ID/TASK_ID/&email_user_from=USER_EMAIL&
email_user_to=USER_EMAIL&hidden=USER_EMAIL,USER_EMAIL&title= SUBTASK_NAME&text=SUBTASK_TEXT&priority=7& datestart=DD.MM.YYYY&dateend=DD.MM.YYYY&tags=Tag1,Tag2&hash=HASH
 Параметр Page должен совпадать с URL проекта и родительской задачей!
В данном запросе можно добавлять файлы, см. Как добавлять файлы

Обязательные параметры:
  • email_user_from — email автора задания
  • email_user_to — email ответственного сотрудника по задаче (ANY для "любой сотрудник", NOONE для "без ответственного"
  • title — наименование задачи 

Необязательные параметры:
  • text – описание задачи 
  • tags – добавляет статусы/метки, например tags=TAG1,TAG2. Можно указывать наименования (если они уникальны) или ID 
  • priority - приоритет, число от 0 до 10 
  • datestart - дата, когда задача должна стартовать в формате DD.MM.YYYY
  • dateend - дата, когда задача должна быть закрыта в формате DD.MM.YYYY
  • subscribe – список email сотрудников, разделенных запятой, которые будут подписаны на задачу
  • hidden - список email сотрудников, разделенных запятой, которые будут входить в круг видимости подзадачи. Для других сотрудников подзадача будет скрытой.
  • max_time – плановые затраты времени
  • max_money – плановые затраты денег
  •  todo – чек-лист (например: todo[]=дело1&todo[]=дело2) 



При успешном выполнении запроса, ответ будет содержать статус ok и передаваемые данные

{
    "status": "ok",
    "data": {
        "id": "SUBTASK_ID",
        "name": "SUBTASK_NAME",
        "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
        "status": "active",
        "priority": "7",
        "user_from": {
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "user_to": {
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "project": {
            "id": "PROJECT_ID",
            "name": "PROJECT_NAME",
            "page": "/project/PROJECT_ID/"
        },
        "parent": {
            "id": "TASK_ID",
            "name": "TASK_NAME",
            "page": "/project/PROJECT_ID/YASK_ID/",
            "status": "active",
            "priority": "9"
        },
        "text": "SUBTASK_TEXT",
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD"
    }
}

Закрытие задачи через API: complete_task

Пример complete_task запроса

https://your-domain.com/api/admin/v2/?action=complete_task&
page=/project/PROJECT_ID/TASK_ID/&hash=HASH
Закрывает указанную задачу. Задача не должна быть уже закрытой и не должна содержать открытые подзадачи.

При успешном выполнении запроса, ответ будет содержать статус Ок 

{
"status": "ok"
}

Закрытие подзадачи через API: complete_subtask

Пример complete_subtask запроса

https://your-domain.com/api/admin/v2/?action=complete_subtask&
page=/project/PROJECT_ID/TASK_ID/SUBTASK_ID/&hash=HASH 
Закрывает указанную подзадачу. Подзадача не должна быть уже закрытой и не должна содержать открытые вложенные подзадачи.

При успешном выполнении запроса, ответ будет содержать статус Ок 

{
"status": "ok"
}

Повторное открытие задачи через API: reopen_task

Пример reopen_task запроса

https://your-domain.com/api/admin/v2/?action=reopen_task&
page=/project/PROJECT_ID/TASK_ID/&hash=HASH 
Повторно открывает указанную задачу

При успешном выполнении запроса, ответ будет содержать статус Ок 

{
"status": "ok"
}

Повторное открытие позадачи через API: reopen_subtask

Пример reopen_subtask запроса

https://your-domain.com/api/admin/v2/?action=reopen_subtask&
page=/project/PROJECT_ID/TASK_ID/SUBTASK_ID/&hash=HASH 
Повторно открывает указанную подзадачу

При успешном выполнении запроса, ответ будет содержать статус Ок 

{
"status": "ok"
}

Редактирование задачи через API: update_task

Пример update_task запроса

https://your-domain.com/api/admin/v2/?action=update_task&
page=/project/PROJECT_ID/TASK_ID/&email_user_to=USER_EMAIL&
title=TASK_NAME&priority=7&datestart=DD.MM.YYYY&dateend=DD.MM.YYYY &hash=HASH
  Параметр Page должен совпадать с URL задачи!

Обязательные параметры:
  • page – адрес задачи 

Необязательные параметры:
  • email_user_to - email ответственного сотрудника по задаче (ANY для "любой сотрудник", NOONE для "без ответственного"
  • title – наименование задачи
  • priority - приоритет, число от 0 до 10 
  • datestart – дата, когда задача должна стартовать в формате DD.MM.YYYY
  • dateend – дата, когда задача должна быть закрыта в формате DD.MM.YYYY 
  • dateclosed – дата закрытия задачи DD.MM.YYYY 
  • max_time – плановые затраты времени
  • max_money – плановые затраты денег

При успешном выполнении запроса, ответ будет содержать статус ok и передаваемые данные
{
    "status": "ok",
    "data": {
        "id": "TASK_ID",
        "name": "TITLE",
        "page": "/project/PROJECT_ID/TASK_ID/",
        "status": "active",
        "priority": "9",
        "user_from": {
            "email": "USER_EMAIL",
            "name": "USER_NAME"
      },
        "user_to": {
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "project": {
            "id": "PROJECT_ID",
            "name": "PROJECT_NAME",
            "page": "/project/PROJECT_ID/"
        },
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD"
    }
}

Редактирование подзадачи через API: update_subtask

Пример update_subtask запроса

https://your-domain.com/api/admin/v2/?action=update_task&
page=/project/PROJECT_ID/TASK_ID/SUBTASK_ID/&email_user_to=USER_EMAIL
&title=TASK_NAME&priority=7&datestart=DD.MM.YYYY&dateend=DD.MM.YYYY &hash=HASH
 Параметр Page должен совпадать с URL подзадачи!

Обязательные параметры:
  • page – адрес подзадачи 

Необязательные параметры:
  • email_user_to - email ответственного сотрудника по задаче (ANY для "любой сотрудник", NOONE для "без ответственного")
  • title - наименование задачи
  • priority - приоритет, число от 0 до 10 
  • datestart - дата, когда задача должна стартовать в формате DD.MM.YYYY
  • dateend - дата, когда задача должна быть закрыта в формате DD.MM.YYYY 
  • dateclosed - дата закрытия задачи DD.MM.YYYY 
  • max_time - плановые затраты времени
  • max_money - плановые затраты денег

При успешном выполнении запроса, ответ будет содержать статус OK и данные

{
    "status": "ok",
    "data": {
        "id": "SUBTASK_ID",
        "name": "SUBTASK_NAME",
        "page": "/project/PROJECT_ID/TASK_ID/SUBTASK_ID/",
        "status": "active",
        "priority": "7",
        "user_from": {
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "user_to": {
            "email": "USER_EMAIL",
            "name": "USER_NAME"
        },
        "project": {
            "id": "PROJECT_ID",
            "name": "PROJECT_NAME",
            "page": "/project/PROJECT_ID/"
        },
        "parent": {
            "id": "TASK_ID",
            "name": "TASK_NAME",
            "page": "/project/PROJECT_ID/TASK_ID/",
            "status": "active",
            "priority": "9"
        },
        "date_added": "YYYY-MM-DD HH:II",
        "date_start": "YYYY-MM-DD",
        "date_end": "YYYY-MM-DD"
    }
}

Поиск задач через API: search_tasks

Пример search_tasks запроса

https://your-domain.com/api/admin/v2/?action=search_tasks&hash=HASH
&page=/project/PROJECT_ID/&filter=name has 'API' and dateadd>'2019-05-20' and (dateend>'2019-05-25' and
dateend<'2019-05-31')
Проводит поиск задач по проектам, ответственным сотрудникам, авторам задач.

Как минимум один из следующих параметров обязателен:
  • page – ссылка на проект или родительскую задачу
  • email_user_from – email автора задания
  • email_user_to – email ответственного сотрудника
  • status - done или active
  • filter - поисковый запрос

Пример filter запроса
[name has 'API' and dateadd>'2019-05-20' and (dateend>'2019-05-25' and dateend<'2019-05-31')]

Возможные данные для использования в filter:
  •  id, project, parent – id задачи, проекта или родительской задачи (Integer)
  •  name – наименование задачи (String)
  • dateadd или date_added – дата создания задачи в формате 'DD.MM.YYYY'
  • datestart или date_start – дата, когда задача должна стартовать в формате 'DD.MM.YYYY'
  • dateend или date_end – дата, когда задача должна быть закрыта в формате 'DD.MM.YYYY'
  • dateclose или date_close – дата закрытия задачи в формате 'DD.MM.YYYY'

Операторы равенства для целочисленных полей (Integer):
=, in
project=PROJECT_ID
id in (1234, 1235)

Реляционные операторы для полей даты:
>, <P, >=, <=, !=, =
date_add>'2019-05-01'and date_end<'2019-05-31'
Полное или частичное совпадение для строковых (String) данных:
=, has
name='Task Report' or namehas'Report'
Условия запроса можно объединять логическими AndOr операциями и ( )

Получение истории событий за период времени через API: get_events

Пример get_events запроса

https://your-domain.com/api/admin/v2/?action=get_events&
period=3d&hash=HASH
Возвращает данные по событиям в проектах, с указанной датой изменений, кем изменено, и версии до и после изменений за указанный период времени
В этом запросе параметр page не требуется

Обязательные параметры:
  • period – период времени (возможные диапазоны: в минутах 1m..360m, в часах 1h..72h, в днях 1d..30d)

Необязательные параметры:
  •  page – возвращает данные указанного проекта


 Пример JSON ответа

{
    "status": "ok",
    "data": [
        {
            "action": "update",
            "object": {
                "type": "comment",
                "id": "COMMENT_ID",
                "page": "/project/PROJECT_ID/TASK_ID/"
            },
            "date_added": "YYYY-MM-DD HH:II",
            "user_from": {
                "email": "USER_EMAIL",
                "name": "USER_NAME"
            },
            "new": {
                "text": "TEXT"
            },
            "old": {
                "text": "TEXT"
            }
        },
        {
            "action": "update",
            "object": {
                "type": "task",
                "id": "TASK_ID",
                "page": "/project/PROJECT_ID/TASK_ID/"
            },
            "date_added": "YYYY-MM-DD HH:II",
            "user_from": {
                "email": "USER_EMAIL",
                "name": "USER_NAME"
            },
            "new": {
                "date_end": "YYYY-MM-DD"
            },
            "old": {
                "date_end": "YYYY-MM-DD"
            }
        }
    ]
}
esc
или
Распечатать