Документация Пользовательские поля

Пользовательские поля 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 на пользовательское поле (имя/значение), и эти имена и значения попадают в
словарь так же, как из вручную сохранённого кейса, — поэтому классификация
импортированного каталога сразу становится доступной для автодополнения.

См. также