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


Список всех пользовательских полей

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

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

query ListCustomFields {
  customFields(
    filter: { projectId: "project_123" }
    sort: position_ASC
    take: 20
  ) {
    items {
      id
      uid
      name
      type
      position
    }
    pageInfo {
      totalItems
      hasNextPage
    }
  }
}

Расширенный пример

query ListCustomFieldsAdvanced {
  customFields(
    filter: {
      projectId: "project_123"
      types: [TEXT_SINGLE, NUMBER, SELECT_SINGLE]
    }
    sort: name_ASC
    skip: 20
    take: 50
  ) {
    items {
      id
      uid
      name
      type
      position
      description
      
      # Type-specific fields
      min              # For NUMBER, RATING, PERCENT
      max              # For NUMBER, RATING, PERCENT
      currency         # For CURRENCY type
      prefix           # For UNIQUE_ID type
      isDueDate        # For DATE type
      formula          # For FORMULA type
      
      # Validation settings
      editable
      metadata
      
      # For SELECT types
      customFieldOptions {
        id
        title
        color
        position
      }
    }
    pageInfo {
      totalItems
      hasNextPage
      hasPreviousPage
    }
  }
}

Входные параметры

CustomFieldFilterInput

Параметр Тип Обязательный Описание
projectId String Нет Фильтр по конкретному ID проекта
types [CustomFieldType!] Нет Фильтр по типам пользовательских полей

Значения CustomFieldSort

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

Значения CustomFieldType

Значение Описание
TEXT_SINGLE Поле для ввода текста в одну строку
TEXT_MULTI Многострочная текстовая область
SELECT_SINGLE Выпадающий список с одним выбором
SELECT_MULTI Выпадающий список с несколькими выборами
CHECKBOX Поле для флажка (логическое значение)
RATING Оценка по звёздам (1-5 или пользовательский диапазон)
PHONE Номер телефона с проверкой
NUMBER Числовой ввод
CURRENCY Сумма в валюте
PERCENT Процентное значение
EMAIL Адрес электронной почты с проверкой
URL URL веб-сайта с проверкой
UNIQUE_ID Авто-сгенерированный уникальный идентификатор
LOCATION Географическое местоположение (широта/долгота)
FILE Прикреплённый файл
DATE Выбор даты
COUNTRY Выбор страны
FORMULA Вычисляемое поле на основе других полей
REFERENCE Ссылка на записи в другом проекте
LOOKUP Получение данных из ссылочных записей
TIME_DURATION Поле для отслеживания времени
BUTTON Поле для активной кнопки
CURRENCY_CONVERSION Поле для конвертации валюты

Параметры постраничного вывода

Параметр Тип Обязательный Описание
skip Int Нет Количество элементов для пропуска (по умолчанию: 0)
take Int Нет Количество элементов для возврата (по умолчанию: 20, максимум: 500)

Поля ответа

CustomField

Поле Тип Описание
id String! Уникальный идентификатор
uid String! Уникальный удобочитаемый ID
name String! Отображаемое имя поля
type CustomFieldType! Тип пользовательского поля
position Float! Позиция сортировки
description String Описание поля (необязательно)
min Float Минимальное значение (NUMBER, RATING, PERCENT)
max Float Максимальное значение (NUMBER, RATING, PERCENT)
currency String Код валюты (тип CURRENCY)
prefix String Префикс для генерации UNIQUE_ID
isDueDate Boolean Является ли поле DATE датой выполнения
formula JSON Конфигурация формулы (тип FORMULA)
editable Boolean Может ли текущий пользователь редактировать это поле
metadata JSON Дополнительная конфигурация поля
customFieldOptions [CustomFieldOption!] Доступные варианты для типов SELECT

CustomFieldOption

Поле Тип Описание
id String! Уникальный идентификатор
title String! Отображаемый текст для варианта
color String! Шестнадцатеричный код цвета
position Float! Позиция сортировки

PageInfo

Поле Тип Описание
totalItems Int Общее количество пользовательских полей
hasNextPage Boolean! Существуют ли дополнительные страницы
hasPreviousPage Boolean! Существуют ли предыдущие страницы
endCursor String Курсор для постраничного вывода (устарело - используйте постраничный вывод на основе смещения)

Необходимые разрешения

Пользовательские поля доступны в зависимости от вашей роли в проекте. Если у вас есть пользовательская роль с ограниченным доступом к полям, будут возвращены только поля, отмеченные как редактируемые для вашей роли.

Роль Может перечислить пользовательские поля
OWNER ✅ Да (все поля)
ADMIN ✅ Да (все поля)
MEMBER ✅ Да (в зависимости от разрешений роли)
CLIENT ✅ Да (в зависимости от разрешений роли)

Ответы на ошибки

Проект не найден

{
  "errors": [{
    "message": "Project not found.",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

Неверный тип поля

{
  "errors": [{
    "message": "Variable \"$filter\" got invalid value \"INVALID_TYPE\" at \"filter.types[0]\"; Value \"INVALID_TYPE\" does not exist in \"CustomFieldType\" enum.",
    "extensions": {
      "code": "GRAPHQL_VALIDATION_FAILED"
    }
  }]
}

Важные заметки

  • Пользовательские поля ограничены проектами - вы должны указать projectId в фильтре
  • Параметр take ограничен 500 элементами на запрос для повышения производительности
  • Поля возвращаются в зависимости от разрешений пользователя - пользовательские роли могут иметь ограниченный доступ
  • Порядок сортировки по умолчанию - по position по возрастанию, что отражает порядок, показанный в интерфейсе
  • Этот запрос поддерживает фильтрацию по одному проекту - для многопроектных запросов используйте вложенный интерфейс CustomFieldQueries
  • Некоторые типы полей (например, FORMULA и REFERENCE) могут включать дополнительные вложенные структуры данных
  • Поле editable указывает, может ли текущий пользователь изменять значения для этого пользовательского поля

Связанные конечные точки

AI Ассистент

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

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

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

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