Проекты в Blue формируют фундаментальную основу для организации пользователей и данных.


Список всех проектов

Запрос projectList позволяет вам извлекать проекты с мощными возможностями фильтрации, сортировки и пагинации.

Простой пример

query ProjectListQuery {
  projectList(filter: { companyIds: ["ENTER COMPANY ID"] }) {
    items {
      id
      uid
      slug
      name
      description
      archived
      color
      icon
      createdAt
      updatedAt
      allowNotification
      position
      unseenActivityCount
      todoListsMaxPosition
      lastAccessedAt
      isTemplate
      automationsCount
      totalFileCount
      totalFileSize
      todoAlias
    }
    pageInfo {
      totalPages
      totalItems
      page
      perPage
      hasNextPage
      hasPreviousPage
    }
  }
}

Расширенный пример с фильтрацией и сортировкой

query FilteredProjectList {
  projectList(
    filter: {
      companyIds: ["company-123", "company-456"]
      archived: false
      isTemplate: false
      search: "marketing"
      inProject: true
      folderId: null  # Get root-level projects only
    }
    sort: [position_ASC, name_ASC]
    skip: 0
    take: 50
  ) {
    items {
      id
      name
      slug
      position
      archived
    }
    totalCount
    pageInfo {
      totalItems
      hasNextPage
    }
  }
}

Поля проекта

Следующая таблица описывает все доступные поля для каждого проекта в ProjectListQuery:

Поле Тип Описание
id ID! Уникальный идентификатор проекта
uid String! Удобный для пользователя уникальный идентификатор проекта
slug String! Имя проекта, удобное для URL
name String! Отображаемое имя проекта
description String Краткое описание проекта
archived Boolean Булевое значение, указывающее, архивирован ли проект
color String Цвет, связанный с проектом для визуальной идентификации
icon String Иконка, связанная с проектом для визуальной идентификации
image Image Объект изображения обложки проекта
createdAt DateTime! Временная метка, когда проект был создан
updatedAt DateTime! Временная метка, когда проект был в последний раз обновлен
allowNotification Boolean! Булевое значение, указывающее, включены ли уведомления для проекта
position Float! Числовое значение, представляющее позицию проекта в списке
unseenActivityCount Int! Количество невидимых действий в проекте
todoListsMaxPosition Float! Максимальное значение позиции для списков задач в проекте
lastAccessedAt DateTime Временная метка, когда проект был в последний раз открыт
isTemplate Boolean! Булевое значение, указывающее, является ли проект шаблоном
isOfficialTemplate Boolean! Булевое значение, указывающее, является ли это официальным шаблоном Blue
automationsCount(isActive: Boolean) Int! Количество автоматизаций, связанных с проектом
totalFileCount Int Общее количество файлов в проекте
totalFileSize Float Общий размер всех файлов в проекте (в байтах)
todoAlias String Пользовательский псевдоним для "задачи", используемый в проекте
category ProjectCategory! Категория проекта (CRM, МАРКЕТИНГ и т.д.)
hideEmailFromRoles [UserAccessLevel!] Массив ролей, которые должны скрывать адреса электронной почты
hideStatusUpdate Boolean Булевое значение для скрытия обновлений статуса
company Company! Полные детали объекта компании
accessLevel(userId: String) UserAccessLevel Получить уровень доступа пользователя к конкретному проекту
folder Folder Папка, содержащая этот проект
features [ProjectFeature!] Массив включенных функций проекта
sequenceCustomField CustomField Пользовательское поле, используемое для нумерации последовательностей
coverConfig TodoCoverConfig Конфигурация для изображений обложек задач
hideRecordCount Boolean Нужно ли скрывать количество записей
showTimeSpentInTodoList Boolean Нужно ли показывать время, затраченное на списки задач
showTimeSpentInProject Boolean Нужно ли показывать время, затраченное на проект
todoFields [TodoField] Определения пользовательских полей задач

Примечание: Вы можете запросить любую комбинацию этих полей в вашем запросе GraphQL.

Параметры пагинации

Объект pageInfo предоставляет детали пагинации для результатов запроса:

Поле Тип Описание
totalPages Int Общее количество страниц результатов
totalItems Int Общее количество проектов, соответствующих запросу
page Int Номер текущей страницы
perPage Int Количество элементов на странице
hasNextPage Boolean! Булевое значение, указывающее, есть ли следующая страница результатов
hasPreviousPage Boolean! Булевое значение, указывающее, есть ли предыдущая страница результатов

Параметры запроса

Опции фильтрации (ProjectListFilter)

Параметр Тип Обязательный Описание
companyIds [String!]! ✅ Да Массив идентификаторов компаний или слагов для поиска
ids [String!] Нет Фильтровать по конкретным идентификаторам проектов
archived Boolean Нет Фильтровать по статусу архивирования (true/false)
isTemplate Boolean Нет Фильтровать шаблонные проекты (true/false)
search String Нет Искать проекты по имени (без учета регистра)
folderId String Нет Фильтровать по идентификатору папки. Используйте null для проектов на корневом уровне
inProject Boolean Нет Фильтровать по членству пользователя. См. примечание ниже

Примечание о фильтре inProject:

  • true или undefined: Возвращает проекты, членом которых является пользователь
  • false: Возвращает проекты, в которых пользователь НЕ состоит (требуется разрешение владельца компании)
  • Фильтрация по папкам (folderId) работает только тогда, когда inProject не является false

Опции сортировки (ProjectSort)

Значение Описание
id_ASC Сортировать по ID по возрастанию
id_DESC Сортировать по ID по убыванию
name_ASC Сортировать по имени по возрастанию (A-Z)
name_DESC Сортировать по имени по убыванию (Z-A)
createdAt_ASC Сортировать по дате создания (сначала старые)
createdAt_DESC Сортировать по дате создания (сначала новые)
updatedAt_ASC Сортировать по последнему обновлению (сначала старые)
updatedAt_DESC Сортировать по последнему обновлению (сначала новые)
position_ASC Сортировать по позиции по возрастанию*
position_DESC Сортировать по позиции по убыванию*

*Сортировка по позиции доступна только при просмотре проектов, членом которых является пользователь (inProject !== false)

Параметры пагинации

Параметр Тип По умолчанию Описание
skip Int 0 Количество записей для пропуска
take Int 20 Количество записей для возврата

Важные примечания

  1. Поведение по умолчанию для проектов, в которых нет членов (inProject: false):

    • Исключает архивированные проекты, если фильтр archived не установлен явно
    • Исключает шаблонные проекты, если фильтр isTemplate не установлен явно
  2. Ограничения фильтрации по папкам:

    • Работает только при отображении проектов пользователя
    • Не может быть использован с inProject: false
    • Используйте folderId: null, чтобы получить проекты, не находящиеся в какой-либо папке
  3. Резервное копирование сортировки:

    • Сортировка по позиции игнорируется при просмотре проектов, в которых нет членов
    • В таких случаях возвращается сортировка по имени
  4. Устаревшие параметры:

    • orderBy, after, before, first, last устарели
    • Используйте sort, skip и take вместо этого

AI Ассистент

Ответы генерируются с использованием ИИ и могут содержать ошибки.

Как я могу вам помочь?

Спросите меня о чем угодно, связанном с Blue или этой документацией.

Введите для отправки • Shift+Enter для новой строки • ⌘I для открытия