Создайте поля для оценки, чтобы хранить числовые оценки с настраиваемыми шкалами и валидацией
Настраиваемые поля для оценки позволяют хранить числовые оценки в записях с настраиваемыми минимальными и максимальными значениями. Они идеально подходят для оценки производительности, уровня удовлетворенности, уровней приоритета или любых данных, основанных на числовых шкалах в ваших проектах.
Основной пример
Создайте простое поле для оценки с умолчательной шкалой 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)
- Определяйте четкое значение для каждого уровня оценки
Качество данных
- Проверяйте значения оценки перед их сохранением
- Используйте десятичную точность надлежащим образом
- Учитывайте округление для целей отображения
- Предоставляйте четкие указания по значениям оценок
Пользовательский опыт
- Визуально отображайте шкалы оценки (звезды, полосы прогресса)
- Показывайте текущее значение и пределы шкалы
- Предоставляйте контекст для значений оценок
- Рассмотрите возможность установки значений по умолчанию для новых записей
Общие случаи использования
-
Управление производительностью
- Оценки производительности сотрудников
- Оценки качества проектов
- Оценки завершения задач
- Оценки уровня навыков
-
Обратная связь от клиентов
- Оценки удовлетворенности
- Оценки качества продукта
- Оценки качества обслуживания
- Чистый индекс промоутера (NPS)
-
Приоритет и важность
- Уровни приоритета задач
- Оценки срочности
- Оценки рисков
- Оценки влияния
-
Контроль качества
- Оценки ревью кода
- Оценки качества тестирования
- Качество документации
- Оценки соблюдения процессов
Функции интеграции
С автоматизацией
- Запуск действий на основе пороговых значений оценки
- Отправка уведомлений о низких оценках
- Создание последующих задач для высоких оценок
- Направление работы на основе значений оценки
С поисками
- Вычисление средних оценок по записям
- Поиск записей по диапазонам оценок
- Ссылка на данные оценок из других записей
- Агрегация статистики оценок
С интерфейсом Blue
- Автоматическая проверка диапазона в контексте форм
- Визуальные элементы управления для ввода оценки
- Обратная связь по валидации в реальном времени
- Варианты ввода звезд или ползунка
Отслеживание активности
Изменения в полях оценки автоматически отслеживаются:
- Старые и новые значения оценок фиксируются
- Активность показывает числовые изменения
- Временные метки для всех обновлений оценок
- Атрибуция пользователей для изменений
Ограничения
- Поддерживаются только числовые значения
- Нет встроенного визуального отображения оценки (звезды и т. д.)
- Десятичная точность зависит от конфигурации базы данных
- Нет хранения метаданных оценок (комментарии, контекст)
- Нет автоматической агрегации оценок или статистики
- Нет встроенной конверсии оценок между шкалами
- Критично: Валидация мин/макс работает только в формах, а не через
setTodoCustomField
Связанные ресурсы
- Числовые поля - Для общих числовых данных
- Процентные поля - Для процентных значений
- Поля выбора - Для оценок с дискретным выбором
- Обзор настраиваемых полей - Общие концепции