YouGile API Integration
Управление задачами через YouGile REST API v2.
Quick Start
python
from scripts.yougile_client import YouGileClient
client = YouGileClient()
# Список задач
tasks = client.get_tasks(limit=10)
# Создать задачу
task = client.create_task("Название задачи", column_id="xxx-xxx")
# Найти задачу
task = client.find_task("поиск")
Доступные функции
Задачи (Tasks)
| Функция | Описание | Параметры |
|---|---|---|
get_tasks(limit) | Список всех задач | limit=25 |
get_task(task_id) | Получить задачу по ID | task_id |
find_task(search) | Поиск по названию | search_term |
create_task(title, column_id, ...) | Создать задачу | title, column_id, description, deadline |
update_task(task_id, ...) | Обновить задачу | task_id, title, description, completed, deadline |
move_task(task_id, column_id) | Переместить в колонку | task_id, column_id |
complete_task(task_id) | Отметить выполненной | task_id |
set_deadline(task_id, deadline) | Установить дедлайн | task_id, deadline (YYYY-MM-DD) |
assign_task(task_id, user_id) | Назначить исполнителя | task_id, user_id |
get_today_tasks() | Задачи с дедлайном сегодня | — |
Комментарии (Chat)
| Функция | Описание | Параметры |
|---|---|---|
get_task_chat(task_id) | Получить комментарии | task_id |
send_message(task_id, text) | Написать комментарий | task_id, text |
Структура (Boards/Columns/Projects)
| Функция | Описание | Параметры |
|---|---|---|
get_columns() | Список всех колонок | — |
get_column(column_id) | Колонка по ID | column_id |
get_boards() | Список всех досок | — |
get_board(board_id) | Доска по ID | board_id |
get_projects() | Список проектов | — |
get_project(project_id) | Проект по ID | project_id |
Пользователи
| Функция | Описание | Параметры |
|---|---|---|
get_users() | Список пользователей | — |
get_user(user_id) | Пользователь по ID | user_id |
Workflow Examples
Создание задачи с дедлайном
python
# 1. Получить колонки
columns = client.get_columns()
todo_column = next(c for c in columns if "дела" in c["title"].lower())
# 2. Создать задачу
task = client.create_task(
title="Подготовить отчёт",
column_id=todo_column["id"],
description="Квартальный отчёт по продажам",
deadline="2026-02-15"
)
Перемещение и комментирование
python
# Найти задачу
task = client.find_task("отчёт")
# Найти колонку "В работе"
columns = client.get_columns()
in_progress = next(c for c in columns if "работе" in c["title"].lower())
# Переместить
client.move_task(task["id"], in_progress["id"])
# Добавить комментарий
client.send_message(task["id"], "Начал работу над отчётом")
Утренний брифинг
python
# Задачи на сегодня
today_tasks = client.get_today_tasks()
# Все активные задачи
all_tasks = client.get_tasks()
overdue = [t for t in all_tasks if t.get("deadline") and is_overdue(t["deadline"])]
# Формируем отчёт
report = f"📋 На сегодня: {len(today_tasks)} задач\n⚠️ Просрочено: {len(overdue)}"
API Details
Base URL: https://ru.yougile.com/api-v2
Auth: Bearer token в заголовке Authorization: Bearer {API_KEY}
Task Object
json
{
"id": "uuid",
"title": "Название задачи",
"description": "Описание",
"columnId": "uuid колонки",
"completed": false,
"archived": false,
"deadline": {
"deadline": 1707955200000,
"startDate": null,
"withTime": false
},
"assigned": ["user-uuid-1", "user-uuid-2"],
"subtasks": 3,
"subtasksDone": 1
}
Deadline Format
- •При создании/обновлении: timestamp в миллисекундах или ISO date
- •
withTime: true— точное время,false— только дата
Pagination
- •
limit— количество записей (default: 25, max: 100) - •
offset— смещение для пагинации
Error Handling
Все функции возвращают:
- •
✅ Успех: ...при успешном выполнении - •
❌ Ошибка: ...при ошибке с описанием
При 401 ошибке — проверь API ключ. При 404 — задача/колонка не найдена. При 400 — неверные параметры.
Configuration
API ключ задаётся в scripts/config.py или через переменную окружения YOUGILE_API_KEY.
python
# scripts/config.py YOUGILE_API_KEY = "your-api-key-here" YOUGILE_BASE_URL = "https://ru.yougile.com/api-v2"