Создайте копию существующей записи, сохраняя определенные элементы данных.
Копирование записи
Чтобы создать копию существующей записи, сохраняя определенные элементы, используйте мутацию copyTodo
:
mutation CopyTodo {
copyTodo(
input: {
title: "new todo"
todoId: "todo-id"
todoListId: "todo-list-id"
options: [
DESCRIPTION
DUE_DATE
CHECKLISTS
ASSIGNEES
TAGS
CUSTOM_FIELDS
COMMENTS
]
}
)
}
Обязательные заголовки
x-bloo-token-id: "your-token-id"
x-bloo-token-secret: "your-token-secret"
x-bloo-project-id: "project-id-or-slug"
x-bloo-company-id: "company-id-or-slug"
Входные параметры
Поле | Тип | Обязательно | Описание |
---|---|---|---|
title | String | Нет | Новый заголовок для скопированной записи (необязательно) |
todoId | String | Да | ID записи для копирования |
todoListId | String | Да | ID списка, в который нужно создать копию |
options | Array | Да | Элементы данных для копирования из оригинальной записи |
Опции копирования
Массив options
принимает следующие значения:
Опция | Описание |
---|---|
DESCRIPTION | Копирует описание записи |
DUE_DATE | Копирует дату выполнения и часовой пояс |
CHECKLISTS | Копирует все контрольные списки и их элементы |
ASSIGNEES | Копирует всех назначенных пользователей (фильтруется по членству в целевом проекте) |
TAGS | Копирует все связанные теги |
CUSTOM_FIELDS | Копирует все значения пользовательских полей (включая вложения файлов) |
COMMENTS | Копирует все комментарии и ответы |
Пример ответа
{
"data": {
"copyTodo": true
}
}
Скопированная запись будет помещена в конец целевого списка по умолчанию. Чтобы контролировать позиционирование, используйте [мутацию перемещения записи](/api/records/move-record-list).
Вам нужны разрешения Редактировать (РОДИТЕЛЬ, АДМИН или ЧЛЕН) как для исходного, так и для целевого проектов. Примечание: пользователи с ролью ЧЛЕН могут копировать записи только в пределах одного проекта. Копирование между проектами требует разрешений АДМИН или РОДИТЕЛЬ. Неудачные копии вернут код ошибки `FORBIDDEN`.
Обработка ошибок
Распространенные коды ошибок для этой операции:
TODO_NOT_FOUND
: Неверный или недоступный todoIdTODO_LIST_NOT_FOUND
: Неверный или недоступный todoListIdFORBIDDEN
: Недостаточно разрешений или ограничение на копирование между проектами
Смотрите Коды ошибок для полного справочника.
Расширенные функции
Копирование между проектами
Мутация поддерживает копирование записей между различными проектами с учетом следующих моментов:
- РОДИТЕЛЬ/АДМИН: Могут копировать записи между любыми проектами, к которым у них есть доступ
- ЧЛЕН: Ограничены копированием только в пределах одного проекта
- Фильтрация назначенных: При копировании между проектами назначенные пользователи автоматически фильтруются, чтобы включать только тех, кто имеет доступ к целевому проекту
Обработка пользовательских полей
При использовании опции CUSTOM_FIELDS
:
- Все значения пользовательских полей копируются в новую запись
- Вложения файлов в пользовательских полях правильно дублируются с новыми ссылками на хранилище
- Типы пользовательских полей сохраняются и проверяются на соответствие конфигурации целевого проекта
Интеграция автоматизации
Копии между проектами могут инициировать дополнительные правила автоматизации как в исходных, так и в целевых проектах, что позволяет осуществлять сложное управление рабочими процессами между проектами.