Создайте поля для оценки, чтобы хранить числовые оценки с настраиваемыми шкалами и валидацией


Настраиваемые поля для оценки позволяют хранить числовые оценки в записях с настраиваемыми минимальными и максимальными значениями. Они идеально подходят для оценки производительности, уровня удовлетворенности, уровней приоритета или любых данных, основанных на числовых шкалах в ваших проектах.

Основной пример

Создайте простое поле для оценки с умолчательной шкалой 0-5:

mutation CreateRatingField {
  createCustomField(input: {
    name: "Performance Rating"
    type: RATING
    projectId: "proj_123"
    max: 5
  }) {
    id
    name
    type
    min
    max
  }
}

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

Создайте поле для оценки с настраиваемой шкалой и описанием:

mutation CreateDetailedRatingField {
  createCustomField(input: {
    name: "Customer Satisfaction"
    type: RATING
    projectId: "proj_123"
    description: "Rate customer satisfaction from 1-10"
    min: 1
    max: 10
  }) {
    id
    name
    type
    description
    min
    max
  }
}

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

CreateCustomFieldInput

Параметр Тип Обязательный Описание
name String! ✅ Да Отображаемое имя поля для оценки
type CustomFieldType! ✅ Да Должно быть RATING
projectId String! ✅ Да ID проекта, в котором будет создано это поле
description String Нет Текст помощи, отображаемый пользователям
min Float Нет Минимальное значение оценки (без умолчания)
max Float Нет Максимальное значение оценки

Установка значений оценки

Чтобы установить или обновить значение оценки в записи:

mutation SetRatingValue {
  setTodoCustomField(input: {
    todoId: "todo_123"
    customFieldId: "field_456"
    value: "4.5"
  })
}

SetTodoCustomFieldInput Параметры

Параметр Тип Обязательный Описание
todoId String! ✅ Да ID записи для обновления
customFieldId String! ✅ Да ID настраиваемого поля для оценки
value String! ✅ Да Значение оценки в виде строки (в пределах настроенного диапазона)

Создание записей с значениями оценки

При создании новой записи со значениями оценки:

mutation CreateRecordWithRating {
  createTodo(input: {
    title: "Review customer feedback"
    todoListId: "list_123"
    customFields: [{
      customFieldId: "rating_field_id"
      value: "4.5"
    }]
  }) {
    id
    title
    customFields {
      id
      customField {
        name
        type
        min
        max
      }
      value
    }
  }
}

Поля ответа

TodoCustomField Ответ

Поле Тип Описание
id String! Уникальный идентификатор для значения поля
customField CustomField! Определение настраиваемого поля
value Float Хранимое значение оценки (доступно через customField.value)
todo Todo! Запись, к которой принадлежит это значение
createdAt DateTime! Когда значение было создано
updatedAt DateTime! Когда значение было в последний раз изменено

Примечание: Значение оценки фактически доступно через customField.value.number в запросах.

CustomField Ответ

Поле Тип Описание
id String! Уникальный идентификатор для поля
name String! Отображаемое имя поля для оценки
type CustomFieldType! Всегда RATING
min Float Минимально допустимое значение оценки
max Float Максимально допустимое значение оценки
description String Текст помощи для поля

Валидация оценки

Ограничения значений

  • Значения оценки должны быть числовыми (тип Float)
  • Значения должны находиться в пределах настроенного диапазона мин/макс
  • Если минимальное значение не указано, значения по умолчанию нет
  • Максимальное значение является необязательным, но рекомендуется

Правила валидации

Важно: Валидация происходит только при отправке форм, а не при использовании setTodoCustomField напрямую.

  • Ввод разбирается как число с плавающей запятой (при использовании форм)
  • Должно быть больше или равно минимальному значению (при использовании форм)
  • Должно быть меньше или равно максимальному значению (при использовании форм)
  • setTodoCustomField принимает любое строковое значение без валидации

Примеры допустимых оценок

Для поля с min=1, max=5:

1       # Minimum value
5       # Maximum value
3.5     # Decimal values allowed
2.75    # Precise decimal ratings

Примеры недопустимых оценок

Для поля с min=1, max=5:

0       # Below minimum
6       # Above maximum
-1      # Negative value (below min)
abc     # Non-numeric value

Опции конфигурации

Настройка шкалы оценки

# 1-5 star rating
mutation CreateStarRating {
  createCustomField(input: {
    name: "Star Rating"
    type: RATING
    projectId: "proj_123"
    min: 1
    max: 5
  }) {
    id
    min
    max
  }
}

# 0-100 percentage rating
mutation CreatePercentageRating {
  createCustomField(input: {
    name: "Completion Percentage"
    type: RATING
    projectId: "proj_123"
    min: 0
    max: 100
  }) {
    id
    min
    max
  }
}

Общие шкалы оценки

  • 1-5 звезд: min: 1, max: 5
  • 0-10 NPS: min: 0, max: 10
  • 1-10 производительность: min: 1, max: 10
  • 0-100 процент: min: 0, max: 100
  • Настраиваемая шкала: Любой числовой диапазон

Обязательные разрешения

Операции с настраиваемыми полями следуют стандартным разрешениям на основе ролей:

Действие Необходимая роль
Create rating field Project member with appropriate role
Update rating field Project member with appropriate role
Set rating value Project member with field edit permissions
View rating value Project member with view permissions

Примечание: Конкретные роли, необходимые для выполнения действий, зависят от конфигурации настраиваемых ролей вашего проекта и разрешений на уровне полей.

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

Ошибка валидации (только формы)

{
  "errors": [{
    "message": "Validation error message",
    "extensions": {
      "code": "VALIDATION_ERROR"
    }
  }]
}

Важно: Валидация значений оценки (ограничения мин/макс) происходит только при отправке форм, а не при использовании setTodoCustomField напрямую.

Настраиваемое поле не найдено

{
  "errors": [{
    "message": "Custom field was not found.",
    "extensions": {
      "code": "CUSTOM_FIELD_NOT_FOUND"
    }
  }]
}

Рекомендации по лучшим практикам

Дизайн шкалы

  • Используйте единые шкалы оценки для схожих полей
  • Учитывайте знакомство пользователей (1-5 звезд, 0-10 NPS)
  • Устанавливайте соответствующие минимальные значения (0 против 1)
  • Определяйте четкое значение для каждого уровня оценки

Качество данных

  • Проверяйте значения оценки перед их сохранением
  • Используйте десятичную точность надлежащим образом
  • Учитывайте округление для целей отображения
  • Предоставляйте четкие указания по значениям оценок

Пользовательский опыт

  • Визуально отображайте шкалы оценки (звезды, полосы прогресса)
  • Показывайте текущее значение и пределы шкалы
  • Предоставляйте контекст для значений оценок
  • Рассмотрите возможность установки значений по умолчанию для новых записей

Общие случаи использования

  1. Управление производительностью

    • Оценки производительности сотрудников
    • Оценки качества проектов
    • Оценки завершения задач
    • Оценки уровня навыков
  2. Обратная связь от клиентов

    • Оценки удовлетворенности
    • Оценки качества продукта
    • Оценки качества обслуживания
    • Чистый индекс промоутера (NPS)
  3. Приоритет и важность

    • Уровни приоритета задач
    • Оценки срочности
    • Оценки рисков
    • Оценки влияния
  4. Контроль качества

    • Оценки ревью кода
    • Оценки качества тестирования
    • Качество документации
    • Оценки соблюдения процессов

Функции интеграции

С автоматизацией

  • Запуск действий на основе пороговых значений оценки
  • Отправка уведомлений о низких оценках
  • Создание последующих задач для высоких оценок
  • Направление работы на основе значений оценки

С поисками

  • Вычисление средних оценок по записям
  • Поиск записей по диапазонам оценок
  • Ссылка на данные оценок из других записей
  • Агрегация статистики оценок

С интерфейсом Blue

  • Автоматическая проверка диапазона в контексте форм
  • Визуальные элементы управления для ввода оценки
  • Обратная связь по валидации в реальном времени
  • Варианты ввода звезд или ползунка

Отслеживание активности

Изменения в полях оценки автоматически отслеживаются:

  • Старые и новые значения оценок фиксируются
  • Активность показывает числовые изменения
  • Временные метки для всех обновлений оценок
  • Атрибуция пользователей для изменений

Ограничения

  • Поддерживаются только числовые значения
  • Нет встроенного визуального отображения оценки (звезды и т. д.)
  • Десятичная точность зависит от конфигурации базы данных
  • Нет хранения метаданных оценок (комментарии, контекст)
  • Нет автоматической агрегации оценок или статистики
  • Нет встроенной конверсии оценок между шкалами
  • Критично: Валидация мин/макс работает только в формах, а не через setTodoCustomField

Связанные ресурсы

AI Ассистент

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

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

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

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