Сборочному конвейеру, инструменту командной строки viz и внешним моделям нужен доступ к продукту без входа человека. Для этого выпускаются долгоживущие ключи API: они не привязаны к сессии и живут, пока их не отзовут.
Ключ API — не то же самое, что общий ключ установки TEST_AGENT_API_KEY. Тот один на всю установку и подходит для подключения дополнения Chrome, а ключи API выдаются поштучно и у каждого свои права. Управляет ими владелец.
Создание
Ключ выпускается в настройках — «Настройки → API-токены». В момент создания его значение показывается один раз: сохраните его там, где храните секреты. На сервере остаётся только отпечаток, поэтому потерянное значение восстановить нельзя — придётся отозвать ключ и выпустить новый.
У ключа есть имя, дата создания и отметка о последнем использовании. По ним видно, какой ключ где применяется и не пора ли его заменить.
Права
У ключа одно из двух прав:
- Только чтение — ключ читает всё и может пометить сборку для проверки. Писать он не может.
- Чтение и запись — добавляет право создавать записи.
Общее правило для любых прав: ни один ключ не может одобрить эталон. Одобрение — решение человека, и оно остаётся за ним в браузере. Так внешний инструмент не сможет тихо закрепить изменившийся вид страницы и выдать его за норму.
Где применяются
Ключ передаётся в запросах заголовком вместо общего ключа установки:
Authorization: Bearer taj_…
Чаще всего он нужен в трёх местах:
- Сборочный конвейер — шлёт этот заголовок на адрес
/api/extвместоX-API-Key. - Инструмент
viz— читает ключ из переменнойTEST_AGENT_TOKENи предпочитает его общему ключу установки. - MCP-сервер визуальных инструментов — принимает тот же ключ.
Что именно доступно по этим адресам, описано в разделе Внешний доступ для агентов.
Отзыв
Ключ отзывается мгновенно: все клиенты с ним сразу перестают проходить проверку подлинности. Строка ключа остаётся в списке как след — видно, что ключ был, когда его выпустили и когда отозвали.
Дальше: как подстроить визуальные проверки под свой проект, — в разделе Настройки визуального тестирования.