TeamCity CLI
Официальный CLI JetBrains для TeamCity: запуск сборок, хвост логов, очередь и шелл на агенте из терминала.
- 130 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- `agent exec` и `agent term` дают удаленный шелл на агентах сборки, а не только управление очередью и сборками.
Установка
- Работает в
Ручная установка
brew install jetbrains/utils/teamcityПервый способ установки из README для macOS. Для Linux есть `curl -fsSL https://jb.gg/tc/install | bash`.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- `agent exec` и `agent term` дают удаленный шелл на агентах сборки, а не только управление очередью и сборками.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
TeamCity CLI дает командную строку для сервера TeamCity: авторизация один раз (`teamcity auth login`), после чего CLI запоминает сервер для следующих вызовов. Команды сгруппированы по сущностям — `run` запускает и смотрит сборки, `job` управляет конфигурациями, `project` работает с VCS-подключениями и облачными профилями, `queue` показывает и правит очередь, `agent` дает шелл и управление агентами сборки, `pipeline` валидирует и переносит YAML-конфигурации между проектами. Каждая команда поддерживает `--json` или `--plain` для скриптов и `--web` для открытия той же страницы в интерфейсе TeamCity. Нестандартные запросы идут через `teamcity api` прямо к REST API. Команда `teamcity skill install` ставит навык для ИИ-агентов (Claude Code, Cursor и других), который учит их пользоваться этим CLI.
Для кого. Инженерам на TeamCity, которым нужно запускать и отслеживать сборки, читать логи и управлять агентами без переключения в браузер.
Подходит, если
- Сборка упала: лог и диффы изменений стоит посмотреть сразу, без переключения в веб-интерфейс.
- Агент работает над задачей и должен сам запустить сборку, подождать результат и прочитать тесты через CLI.
- Очередь перегружена, и важно быстро посмотреть, что в ней стоит, и поднять приоритет конкретной сборки.
- Pipeline-конфигурацию переносят между проектами и проверяют перед заливкой.
Не подходит, если
- Сервер TeamCity не используется: CLI работает только с ним и REST API не заменяет.
- Нужен только просмотр статуса сборок без прав на запуск и управление агентами — тогда достаточно переменной `TEAMCITY_RO=1` для блокировки записи.
- Безопасность важнее удобства, и доступ к удаленному шеллу на агентах (`agent exec`, `agent term`) не должен существовать в принципе — тогда права ограничивают на стороне сервера.
Пример запроса к агенту
Запусти сборку MyProject_Build в ветке `main`, дождись результата и покажи лог последнего упавшего шага.Ограничения
`TEAMCITY_RO=1` блокирует запись и удаленный шелл на стороне CLI, но это не замена разрешениям на сервере: реальная граница безопасности задается там. `teamcity run download` пишет файлы только внутри `--output` и не трогает уже скачанное при неудачной передаче. Редиректы не понижают HTTPS до HTTP и не передают заголовки запроса на другой `origin`. Для загрузки артефактов с другого `origin` действуют отдельные ограничения. Актуальная версия и список изменений только на GitHub Releases, установка через `deb`, `rpm`, AUR, Chocolatey или Scoop зависит от стороннего пакетного менеджера.
Как отключить. Выполните `teamcity auth logout`, затем удалите бинарник способом, обратным установке (`brew uninstall jetbrains/utils/teamcity`, `sudo dpkg -r teamcity` и аналогично). Навык для агентов удаляется командой `teamcity skill remove`.
Частые вопросы
Как установить TeamCity CLI на macOS?
Через Homebrew: `brew install jetbrains/utils/teamcity`. На Linux подходит `curl -fsSL https://jb.gg/tc/install | bash`, скрипт работает и на macOS.
Как подключить CLI к ИИ-агенту вроде Claude Code?
Команда `teamcity skill install` сама определяет установленных агентов и ставит навык. Для Claude Code отдельно есть плагин через `/plugin marketplace add JetBrains/teamcity-skills` и `/plugin install teamcity@teamcity`, но сам CLI плагин не заменяет.
Как ограничить CLI только чтением?
Переменная `TEAMCITY_RO=1` блокирует запись и команды `agent exec`/`agent term`. Для настоящей границы безопасности нужны права на стороне сервера TeamCity, а не только эта переменная.
Что показывает teamcity run view для сборки в очереди?
Совместимость с агентами и облачными образами, включая невыполненные требования, если сервер это поддерживает. Для больших пулов агентов используйте `--json` и смотрите поле `.compatibility` по каждому агенту.
Почему CLI говорит `run` и `job`, хотя TeamCity называет это иначе?
Это терминология самого CLI: TeamCity называет сущности `build` и `build configuration`, CLI переводит их в `run` и `job`. Полное соответствие дано в глоссарии документации JetBrains.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCircleCI CLI
circleci-cli
Официальный CLI CircleCI показывает запуски и логи упавших тестов, а skills и MCP подключают его к Claude Code, Codex и Cursor.
CLI хостинга Railway: деплой и управление проектами, плюс одна команда, которая ставит агентам скиллы и MCP-сервер Railway
Официальный CLI платформы Dynatrace со встроенным скиллом: рабочие процессы, дашборды, DQL-запросы и SLO из терминала
CLI и MCP-сервер на Rust для локального цикла разработки 1С: сборка, проверка синтаксиса, тесты YAxUnit и Vanessa, выгрузка изменений
Терминальный клиент Docker связывает команды агента с контейнерами, образами, сетями и томами выбранного окружения.
Официальные скиллы Dynatrace для агентов: DQL, трейсы, логи, Kubernetes, облака и безопасность в Claude Code и Cursor.
Коротко о README
README приводит таблицу всех групп команд и подробно разбирает сценарии из жизни: привязку репозитория к проекту TeamCity через `teamcity.toml`, алиасы команд и браузерный вход без терминала для скриптов.