Пользовательские поля TCM
Об URL в примерах: во всех примерах используется адрес
127.0.0.1:5770по умолчанию. Если ваш экземпляр работает на удалённом сервере, замените его на фактический адрес. Подробнее — Полезные функции и советы.
Пользовательские поля позволяют прикреплять к тест-кейсу собственные
структурированные метаданные — помимо встроенных полей вроде приоритета,
владельца и тегов. Каждое пользовательское поле — это простая пара имя +
значение (например, Component: checkout, Layer: integration,
Feature: payments). Они идеально подходят для измерений классификации, которые
придумывает каждая команда, но которые не предусмотреть фиксированной схемой.
В отличие от жёсткой схемы, заданной администратором, пользовательские поля
Mockarty растут из сохраняемых вами кейсов: имена и значения полей, которые
вы реально используете, становятся словарём пространства имён, питающим
автодополнение, — поэтому следующий кейс переиспользует их единообразно, а не
накапливает варианты с опечатками.
Добавление пользовательских полей к кейсу
В редакторе тест-кейса откройте панель метаданных кейса и найдите раздел
Custom fields (Пользовательские поля). У каждого поля есть:
- тип-подсказка —
text,select,url,date,feature,storyили
component(метка того, как следует читать значение); - имя (ключ поля, например
Component); - значение (например,
checkout).
Введите имя и значение, нажмите кнопку добавления (+) — поле прикреплено.
Кнопка × на любом поле удаляет его. Пользовательские поля сохраняются вместе
с кейсом.
Как растёт словарь
Каждый раз при сохранении кейса имена и значения, которые он несёт, записываются
в словарь пользовательских полей пространства имён. Это происходит
автоматически и в фоне — никогда не замедляет и не блокирует сохранение кейса.
Со временем словарь становится каталогом всех имён и значений полей, которые
использовала ваша команда в этом пространстве имён, поэтому:
- имена полей, которые вы использовали ранее, подсказываются при вводе нового
имени поля; - известные значения для данного имени поля подсказываются при заполнении
значения.
Словарь ведётся по каждому пространству имён — словарь одного проекта никогда
не перетекает в другой.
API словаря
Словарь обслуживается read-эндпойнтами под
/api/v1/namespaces/{namespace}/tcm/custom-fields. Все чтения требуют право
tcm_configuration:read; передавайте токен API как
Authorization: Bearer <token>.
Автодополнение имён полей
GET /api/v1/namespaces/{namespace}/tcm/custom-fields/keys?q=<prefix>
curl "http://127.0.0.1:5770/api/v1/namespaces/default/tcm/custom-fields/keys?q=comp" \
-H "Authorization: Bearer $MOCKARTY_API_TOKEN"
{ "keys": ["Component"], "count": 1 }
Префикс q необязателен; опустите его, чтобы получить все известные имена полей.
Автодополнение значений поля
GET /api/v1/namespaces/{namespace}/tcm/custom-fields/values?key=<name>&q=<prefix>
curl "http://127.0.0.1:5770/api/v1/namespaces/default/tcm/custom-fields/values?key=Component&q=che" \
-H "Authorization: Bearer $MOCKARTY_API_TOKEN"
{ "key": "Component", "values": ["checkout"], "count": 1 }
Параметр key обязателен; q — необязательный фильтр по префиксу.
Список словаря
GET /api/v1/namespaces/{namespace}/tcm/custom-fields
Возвращает каждое имя поля с числом уникальных значений, записанных для него:
curl "http://127.0.0.1:5770/api/v1/namespaces/default/tcm/custom-fields" \
-H "Authorization: Bearer $MOCKARTY_API_TOKEN"
{
"keys": [
{ "key": "Component", "valueCount": 7 },
{ "key": "Layer", "valueCount": 3 }
],
"count": 2
}
Очистка словаря
Поскольку словарь растёт из реального использования, в нём могут накапливаться
устаревшие подсказки — значение, использованное один раз на удалённом кейсе, или
имя поля из заброшенного соглашения. Такие подсказки можно удалить.
Важно: очистка подсказки редактирует только словарь автодополнения.
Она никогда не затрагивает сами кейсы — поле, удалённое из словаря, остаётся на
любом кейсе, где оно уже есть.
Очистка требует право namespace:write (тот же владельческий уровень
доступа, что и редактор workflow/состояний).
Удалить имя поля (и все его значения)
DELETE /api/v1/namespaces/{namespace}/tcm/custom-fields/keys/{key}
curl -X DELETE "http://127.0.0.1:5770/api/v1/namespaces/default/tcm/custom-fields/keys/Layer" \
-H "Authorization: Bearer $MOCKARTY_API_TOKEN"
Возвращает 204 No Content.
Удалить одно значение
DELETE /api/v1/namespaces/{namespace}/tcm/custom-fields/values?key=<name>&value=<value>
curl -X DELETE "http://127.0.0.1:5770/api/v1/namespaces/default/tcm/custom-fields/values?key=Component&value=legacy-cart" \
-H "Authorization: Bearer $MOCKARTY_API_TOKEN"
Возвращает 204 No Content. Оба параметра key и value обязательны.
Каждая очистка фиксируется в журнале аудита.
Пользовательские поля из импорта
Пользовательские поля также наполняются импортом из систем миграции.
Массовый импорт TestIT отображает каждый атрибут
TestIT на пользовательское поле (имя/значение), и эти имена и значения попадают в
словарь так же, как из вручную сохранённого кейса, — поэтому классификация
импортированного каталога сразу становится доступной для автодополнения.
См. также
- Управление тест-кейсами — редактор кейса и метаданные.
- Интеграция с TestIT — массовый импорт наполняет пользовательские поля.
- Синхронизация обнаружения тестов — регистрация инвентаря из CI.