
Teamcity Cli
- 280 installs
- 295 repo stars
- Updated June 29, 2026
- jetbrains/skills
Use when working with TeamCity CI/CD or when user provides a TeamCity build URL.
About
Use when working with TeamCity CI/CD or when user provides a TeamCity build URL. Use `teamcity` CLI for builds, logs, jobs, queues, and agents. **Do not guess flags or syntax.** Use the [Command Reference](references/commands.md) or `teamcity <command> --help`. Fall back to `teamcity api /app/rest/...` when needed. Builds are **runs** (`teamcity run`), build configurations are **jobs** (`teamcity job`).
- # TeamCity CLI (`teamcity`)
- teamcity auth status # Check authentication
- teamcity run list --status failure # Find failed builds
- teamcity run log <id> --failed # Full failure diagnostics
- | Area | Commands |
Teamcity Cli by the numbers
- 280 all-time installs (skills.sh)
- +2 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #728 of 2,153 Testing & QA skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
teamcity-cli capabilities & compatibility
- Capabilities
- # teamcity cli (`teamcity`) · teamcity auth status # check authentication · teamcity run list status failure # find failed · teamcity run log <id> failed # full failure di
- Use cases
- documentation
What teamcity-cli says it does
Use when working with TeamCity CI/CD or when user provides a TeamCity build URL. Use `teamcity` CLI for builds, logs, jobs, queues, and agents.
npx skills add https://github.com/jetbrains/skills --skill teamcity-cliAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 280 |
|---|---|
| repo stars | ★ 295 |
| Last updated | June 29, 2026 |
| Repository | jetbrains/skills ↗ |
How do I apply teamcity-cli using the workflow in its SKILL.md?
Use when working with TeamCity CI/CD or when user provides a TeamCity build URL. Use `teamcity` CLI for builds, logs, jobs, queues, and agents.
Who is it for?
Developers following the teamcity-cli skill for the tasks it documents.
Skip if: Tasks outside the teamcity-cli scope described in SKILL.md.
When should I use this skill?
User mentions teamcity-cli or related triggers from the skill description.
What you get
Working teamcity-cli setup aligned with the documented patterns and constraints.
- Build control scripts
- CI troubleshooting output
Files
TeamCity CLI (teamcity)
Quick Start
teamcity auth status # Check authentication
teamcity run list --status failure # Find failed builds
teamcity run log <id> --failed # Full failure diagnosticsDo not guess flags or syntax. Use the Command Reference or teamcity <command> --help. Fall back to teamcity api /app/rest/... when needed. Builds are runs (teamcity run), build configurations are jobs (teamcity job).
Core Commands
| Area | Commands |
|---|---|
| Builds | run list, view, start, watch, log, cancel, restart, tests, changes |
| Artifacts | run artifacts, run download |
| Metadata | run pin/unpin, run tag/untag, run comment |
| Jobs | job list, view, tree, pause/resume, param list/get/set/delete |
| Projects | project list, view, tree, param, token put/get, settings export/status/validate |
| Queue | queue list, approve, remove, top |
| Agents | agent list, view, enable/disable, authorize/deauthorize, exec, term, reboot, move |
| Pools | pool list, view, link/unlink |
| API | teamcity api <endpoint> — raw REST API access |
Quick Workflows
Investigate failure: teamcity run list --status failure → teamcity run log <id> --failed → teamcity run tests <id> --failed From a URL: Extract build ID from https://host/buildConfiguration/ConfigId/12345 → teamcity run view 12345 Start build: teamcity run start <job-id> --branch <branch> --watch Find jobs: teamcity project list → teamcity job list --project <id> Validate Kotlin DSL: teamcity project settings validate (not mvn compile — see Workflows)
References
- Command Reference - All commands and flags
- Workflows - URL handling, failure investigation, artifacts, agents, and more
- Output Formats - JSON, plain text, scripting
Command Reference
Authentication (teamcity auth)
| Command | Description |
|---|---|
teamcity auth login -s <url> | Authenticate with TeamCity server |
teamcity auth logout | Log out from current server |
teamcity auth status | Show auth status and server info |
Login options:
-s, --server <url>- TeamCity server URL-t, --token <token>- Access token--insecure-storage- Store token in plain text config file instead of system keyring
Builds/Runs (teamcity run)
| Command | Description |
|---|---|
teamcity run list | List recent builds |
teamcity run view <id> | View build details |
teamcity run start <job-id> | Start a new build |
teamcity run cancel <id> | Cancel a build |
teamcity run restart <id> | Restart a build |
teamcity run watch <id> | Watch build in real-time |
teamcity run log <id> | View build log |
teamcity run tests <id> | View test results |
teamcity run changes <id> | View VCS changes |
teamcity run artifacts <id> | List artifacts |
teamcity run download <id> | Download artifacts |
teamcity run pin <id> | Pin build |
teamcity run unpin <id> | Unpin build |
teamcity run tag <id> <tags> | Add tags |
teamcity run untag <id> <tags> | Remove tags |
teamcity run comment <id> | Manage comments |
Flags for teamcity run list
Shows all branches and all build states (including canceled, personal, composite sub-builds) by default — matching the TeamCity UI. Use --branch to narrow to a specific branch.
-j, --job <id>- Filter by job-b, --branch <name>- Filter by branch--status <status>- Filter: success, failure, running, error, unknown-u, --user <name>- Filter by user-p, --project <id>- Filter by project-n, --limit <n>- Limit results (default: 30)--since <time>- Since time (e.g., 24h, 2026-01-01)--until <time>- Until time (e.g., 12h, 2026-01-02)--json- JSON output (use--json=to list fields,--json=f1,f2for specific)--plain- Plain text output for scripting--no-header- Omit header row (use with --plain)-w, --web- Open in browser
Flags for teamcity run start
-b, --branch <name>- Branch to build--revision <sha>- Pin build to a specific Git commit SHA-P, --param <k=v>- Build parameter (repeatable)-S, --system <k=v>- System property (repeatable)-E, --env <k=v>- Environment variable (repeatable)-t, --tag <tag>- Add tag (repeatable)-m, --comment <text>- Run comment--watch- Watch after starting--clean- Clean checkout--agent <id>- Run on specific agent--personal- Run as personal build-l, --local-changes- Include local changes (git, -, or path)--no-push- Skip auto-push of branch to remote--rebuild-deps- Rebuild all dependencies--rebuild-failed-deps- Rebuild failed/incomplete dependencies--top- Add to top of queue-n, --dry-run- Show what would be triggered without running--json- Output as JSON (for scripting)-w, --web- Open run in browser
Flags for teamcity run log
--failed- Show failure summary (problems and failed tests)-j, --job <id>- Get log for latest run of this job--raw- Show raw log without formatting
Flags for teamcity run watch
-i, --interval <s>- Refresh interval in seconds--logs- Stream build logs while watching-Q, --quiet- Minimal output, show only state changes and result--timeout <duration>- Timeout duration (e.g., 30m, 1h)
Flags for teamcity run view
--json- Output as JSON-w, --web- Open in browser
Flags for teamcity run tests
--failed- Show only failed tests-j, --job <id>- Get tests for latest run of this job--json- Output as JSON-n, --limit <n>- Maximum number of tests to show
Flags for teamcity run changes
--json- Output as JSON--no-files- Hide file list, show commits only
Flags for teamcity run artifacts
-j, --job <id>- List artifacts from latest run of this job-p, --path <subdir>- Browse artifacts under this subdirectory--json- Output as JSON
Flags for teamcity run download
-a, --artifact <pattern>- Artifact name pattern to download-d, --dir <path>- Directory to download artifacts to
Flags for teamcity run cancel
--comment <text>- Comment for cancellation-f, --force- Skip confirmation prompt
Flags for teamcity run restart
--watch- Watch the new run after restarting-w, --web- Open run in browser
Flags for teamcity run pin
-m, --comment <text>- Comment explaining why the run is pinned
Flags for teamcity run comment
--delete- Delete the comment
Jobs (teamcity job)
| Command | Description |
|---|---|
teamcity job list | List build configurations |
teamcity job view <id> | View job details |
teamcity job tree <id> | Show snapshot dependency tree |
teamcity job pause <id> | Pause job |
teamcity job resume <id> | Resume job |
teamcity job param list <id> | List parameters |
teamcity job param get <id> <name> | Get parameter |
teamcity job param set <id> <name> <val> | Set parameter |
teamcity job param delete <id> <name> | Delete parameter |
Flags for teamcity job list
--json- JSON output (use--json=to list fields,--json=f1,f2for specific)-n, --limit <n>- Maximum number of jobs-p, --project <id>- Filter by project ID
Flags for teamcity job view
--json- Output as JSON-w, --web- Open in browser
Flags for teamcity job tree
-d, --depth <n>- Limit tree depth (0 = unlimited)--only <type>- Show onlydependentsordependencies
Flags for teamcity job param list
--json- Output as JSON
Flags for teamcity job param set
--secure- Mark as secure/password parameter
Projects (teamcity project)
| Command | Description |
|---|---|
teamcity project list | List projects |
teamcity project view <id> | View project details |
teamcity project tree [id] | Show project hierarchy tree |
teamcity project param list <id> | List parameters |
teamcity project param get <id> <name> | Get parameter |
teamcity project param set <id> <name> <val> | Set parameter |
teamcity project param delete <id> <name> | Delete parameter |
teamcity project token put <id> | Store secret, get token |
teamcity project token get <id> <token> | Retrieve secret |
teamcity project settings export <id> | Export settings as ZIP |
teamcity project settings status <id> | Show versioned settings sync |
teamcity project settings validate | Validate Kotlin DSL config |
Flags for teamcity project tree
-d, --depth <n>- Limit tree depth (0 = unlimited)--no-jobs- Hide build configurations
Flags for teamcity project list
--json- JSON output (use--json=to list fields,--json=f1,f2for specific)-n, --limit <n>- Maximum number of projects-p, --parent <id>- Filter by parent project ID
Flags for teamcity project view
--json- Output as JSON-w, --web- Open in browser
Flags for teamcity project param list
--json- Output as JSON
Flags for teamcity project param set
--secure- Mark as secure/password parameter
Flags for teamcity project settings export
--kotlin- Export as Kotlin DSL (default)--xml- Export as XML-o, --output <path>- Output file path (default: projectSettings.zip)--relative-ids- Use relative IDs in exported settings
Flags for teamcity project settings status
--json- Output as JSON
Flags for teamcity project settings validate
-v, --verbose- Show full Maven output
Flags for teamcity project token put
--stdin- Read value from stdin
Queue (teamcity queue)
| Command | Description |
|---|---|
teamcity queue list | List queued builds |
teamcity queue remove <id> | Remove from queue |
teamcity queue top <id> | Move to top of queue |
teamcity queue approve <id> | Approve waiting build |
Flags for teamcity queue list
-j, --job <id>- Filter by job ID--json- JSON output (use--json=to list fields,--json=f1,f2for specific)-n, --limit <n>- Maximum number of queued runs
Flags for teamcity queue remove
-f, --force- Skip confirmation prompt
Agents (teamcity agent)
| Command | Description |
|---|---|
teamcity agent list | List build agents |
teamcity agent view <id> | View agent details |
teamcity agent authorize <id> | Authorize agent to run builds |
teamcity agent deauthorize <id> | Revoke agent authorization |
teamcity agent enable <id> | Enable agent |
teamcity agent disable <id> | Disable agent |
teamcity agent move <id> <pool> | Move agent to different pool |
teamcity agent jobs <id> | List compatible/incompatible jobs |
teamcity agent exec <id> <cmd> | Execute command on agent |
teamcity agent term <id> | Open interactive shell on agent |
teamcity agent reboot <id> | Reboot a build agent |
Flags for teamcity agent list
-p, --pool <name>- Filter by agent pool--connected- Show only connected agents--enabled- Show only enabled agents--authorized- Show only authorized agents-n, --limit <n>- Limit results--json- JSON output (use--json=to list fields,--json=f1,f2for specific)
Flags for teamcity agent view
--json- Output as JSON-w, --web- Open in browser
Flags for teamcity agent jobs
--incompatible- Show incompatible jobs with reasons--json- Output as JSON
Flags for teamcity agent exec
--timeout <duration>- Command timeout
Flags for teamcity agent reboot
--after-build- Wait for current build to finish before rebooting-y, --yes- Skip confirmation prompt
Agent Pools (teamcity pool)
| Command | Description |
|---|---|
teamcity pool list | List agent pools |
teamcity pool view <id> | View pool details |
teamcity pool link <id> <project> | Link project to pool |
teamcity pool unlink <id> <project> | Unlink project from pool |
Flags for teamcity pool list
--json- JSON output (use--json=to list fields,--json=f1,f2for specific)
Flags for teamcity pool view
--json- Output as JSON-w, --web- Open in browser
Direct API (teamcity api)
For features not covered by specific commands. Endpoints always start with /app/rest/.
# GET request
teamcity api /app/rest/server
# POST request
teamcity api /app/rest/buildQueue -X POST -f 'buildType=id:MyBuild'
# With pagination
teamcity api /app/rest/builds --paginate --slurp
# Browse artifact subdirectory
teamcity api /app/rest/builds/id:BUILD_ID/artifacts/children/SUBPATHFlags
-X, --method <method>- HTTP method-H, --header <h>- Custom header (repeatable)-f, --field <k=v>- Body field (builds JSON)--input <file>- Read body from file (use - for stdin)--paginate- Fetch all pages--slurp- Combine pages into array (requires --paginate)--raw- Output raw response without formatting--silent- Suppress output on success-i, --include- Include response headers in output
Global Flags
Available on all commands:
-h, --help- Help for command-v, --version- Version information--no-color- Disable colored output-q, --quiet- Suppress non-essential output--verbose- Show detailed output including debug info--no-input- Disable interactive prompts-w, --web- Open in browser (on view commands)
Output Formats
Most commands support multiple output formats for different use cases.
Available Formats
| Format | Flag | Use Case |
|---|---|---|
| Table (default) | none | Human-readable, colored output |
| Plain text | --plain | Scripting, parsing |
| JSON | --json | Programmatic access |
| No color | --no-color | Logs, CI environments |
| No header | --no-header | Clean output for piping |
JSON Output
Default JSON (all fields):
teamcity run list --jsonList available fields:
teamcity run list --json=Select specific fields:
teamcity run list --json=id,status,webUrlNested fields (dot notation):
teamcity run list --json=id,buildType.name,triggered.user.usernameAvailable JSON Fields by Command
| Command | Example fields |
|---|---|
run list | id, number, status, state, branchName, buildTypeId, buildType.name, buildType.projectName, triggered.type, triggered.user.name, agent.name, startDate, finishDate, webUrl |
job list | id, name, projectName, projectId, paused, href, webUrl |
project list | id, name, description, parentProjectId, href, webUrl |
queue list | id, buildTypeId, state, branchName, queuedDate, buildType.name, triggered.user.name, webUrl |
agent list | id, name, connected, enabled, authorized, pool.name, webUrl |
pool list | id, name, maxAgents |
Run teamcity <command> --json= to see all available fields for that command.
Scripting Examples
Get build IDs of failed builds:
teamcity run list --status failure --plain --no-header | awk '{print $1}'JSON with jq:
teamcity run list --json | jq '.[] | {id, status, branch}'Get build IDs that failed (JSON):
teamcity run list --status failure --json=id | jq -r '.[].id'Export runs to CSV:
teamcity run list --json=id,status,branchName | jq -r '.[] | [.id,.status,.branchName] | @csv'Filter builds by pattern:
teamcity run list --json | jq '.[] | select(.branch | contains("feature"))'Count builds by status:
teamcity run list --json | jq 'group_by(.status) | map({status: .[0].status, count: length})'Get web URLs for queued builds:
teamcity queue list --json=webUrl | jq -r '.[].webUrl'Environment Variables
For non-interactive use (CI/CD, scripts):
export TEAMCITY_URL="https://teamcity.example.com"
export TEAMCITY_TOKEN="your-api-token"
# Commands will use these automatically
teamcity run listEnvironment variables always take precedence over config file settings.
Combining with Other Tools
Open in browser:
teamcity run view <id> -wPipe to less with color:
teamcity run list | less -RWatch and notify:
teamcity run watch <id> && notify-send "Build complete"Common Workflows
Inspecting a Build from a TeamCity URL
When a user provides a TeamCity URL, parse it and map to teamcity commands.
Format 1: Specific build — https://host/buildConfiguration/ConfigId/12345
# Extract build ID (last numeric path segment): 12345
teamcity run view 12345
# If failed:
teamcity run log 12345 --failed
teamcity run tests 12345 --failedFormat 2: Build configuration — https://host/buildConfiguration/ConfigId
# Extract config ID (last non-numeric path segment): ConfigId
teamcity run list --job ConfigIdFormat 3: Project — https://host/project/ProjectId
# Extract project ID: ProjectId
teamcity job list --project ProjectIdStrip query params (?mode=builds) and fragments (#all-projects) before parsing.
Investigating a Build Failure
When a build has FAILURE status, proactively suggest: teamcity run log <id> --failed (failure summary), teamcity run tests <id> --failed (failed tests), teamcity run changes <id> (triggering changes).
For composite/matrix builds (snapshot dependencies, no agent), find failed children with teamcity run list --status failure and appropriate filters.
1. Find the failed build:
teamcity run list --status failure -n 102. View build details:
teamcity run view <run-id>3. Check the build log:
teamcity run log <run-id>For failed steps only:
teamcity run log <run-id> --failed4. View test results:
teamcity run tests <run-id>For failed tests only:
teamcity run tests <run-id> --failed5. See what changes triggered the build:
teamcity run changes <run-id>Starting and Monitoring Builds
Start a build:
teamcity run start <job-id>Start with specific branch:
teamcity run start <job-id> --branch feature/my-branchStart with parameters:
teamcity run start <job-id> -P "param1=value1" -P "param2=value2"Start with env vars and system properties:
teamcity run start <job-id> -P version=1.0 -S build.number=123 -E CI=trueStart and watch:
teamcity run start <job-id> --watchStart with comment and tags:
teamcity run start <job-id> --comment "Release build" --tag release --tag v1.0Start with clean checkout and rebuild deps:
teamcity run start <job-id> --clean --rebuild-deps --topDry run (see what would be triggered):
teamcity run start <job-id> --dry-runWatch an existing build:
teamcity run watch <run-id>Stream logs while watching:
teamcity run watch <run-id> --logsWatch with timeout:
teamcity run watch <run-id> --timeout 30m --quietPersonal Builds (Local Changes)
Run build with uncommitted git changes:
teamcity run start <job-id> --local-changesRun build from a patch file:
teamcity run start <job-id> --local-changes changes.patchPersonal build with specific branch:
teamcity run start <job-id> --personal --branch my-feature --watchSkip auto-push:
teamcity run start <job-id> --local-changes --no-pushFinding Jobs and Projects
List all projects:
teamcity project listList sub-projects:
teamcity project list --parent <project-id>List jobs in a project:
teamcity job list --project <project-id>View job details:
teamcity job view <job-id>Search for a job by name:
teamcity job list --json | jq '.[] | select(.name | contains("deploy"))'Working with Build Artifacts
List artifacts from a build:
teamcity run artifacts <run-id>List artifacts from latest build of a job:
teamcity run artifacts --job <job-id>Download all artifacts:
teamcity run download <run-id>Download to specific directory:
teamcity run download <run-id> --dir ./artifactsDownload specific artifact:
teamcity run download <run-id> --artifact "*.jar"Browse artifact subdirectory:
teamcity api /app/rest/builds/id:<run-id>/artifacts/children/html_reportsBuild Metadata
Pin a build (prevent cleanup):
teamcity run pin <run-id> --comment "Release candidate"Unpin a build:
teamcity run unpin <run-id>Tag a build:
teamcity run tag <run-id> deployed productionRemove tags:
teamcity run untag <run-id> deployedAdd a comment:
teamcity run comment <run-id> "Verified by QA"View existing comment:
teamcity run comment <run-id>Delete a comment:
teamcity run comment <run-id> --deleteManaging the Build Queue
View queued builds:
teamcity queue listFilter queue by job:
teamcity queue list --job <job-id>Move a build to top of queue:
teamcity queue top <run-id>Remove from queue:
teamcity queue remove <run-id>Approve a build waiting for approval:
teamcity queue approve <run-id>Managing Job and Project Parameters
List job parameters:
teamcity job param list <job-id>Set a parameter:
teamcity job param set <job-id> MY_PARAM "my value"Set a secure parameter:
teamcity job param set <job-id> SECRET_KEY "****" --secureGet a parameter:
teamcity job param get <job-id> MY_PARAMDelete a parameter:
teamcity job param delete <job-id> MY_PARAMProject parameters work the same way with teamcity project param.
Validating Kotlin DSL Locally
Always use `teamcity project settings validate` to verify Kotlin DSL — never generic mvn compile.
Under the hood it runs mvn teamcity-configs:generate (or ./mvnw when available) inside the .teamcity/ directory, which is the only correct DSL validation step. Generic Maven commands like mvn compile do not validate TeamCity DSL and will give misleading results.
# Preferred — auto-detects .teamcity dir and Maven wrapper
teamcity project settings validate
# Explicit path
teamcity project settings validate ./path/to/.teamcity
# Show full Maven output for debugging
teamcity project settings validate --verboseIf you need the raw Maven command (e.g., in CI without the CLI installed):
./mvnw teamcity-configs:generate -f .teamcity/pom.xml # prefer wrapper
mvn teamcity-configs:generate -f .teamcity/pom.xml # fallbackProject Settings (Export & Status)
Check versioned settings sync status (requires server connection):
teamcity project settings status <project-id>Export project settings as Kotlin DSL:
teamcity project settings export <project-id>Export as XML:
teamcity project settings export <project-id> --xml -o settings.zipSecure Tokens
Store a secret and get a token reference:
teamcity project token put <project-id> "my-secret-password"Store from stdin (for piping):
echo -n "my-secret" | teamcity project token put <project-id> --stdinRetrieve a token value (requires System Admin):
teamcity project token get <project-id> "credentialsJSON:abc123..."Managing Agents
List all agents:
teamcity agent listList connected agents only:
teamcity agent list --connectedFilter agents by pool:
teamcity agent list --pool DefaultView agent details:
teamcity agent view <agent-id>See what jobs an agent can run:
teamcity agent jobs <agent-id>See why jobs are incompatible with an agent:
teamcity agent jobs <agent-id> --incompatibleEnable/disable an agent:
teamcity agent enable <agent-id>
teamcity agent disable <agent-id>Authorize/deauthorize an agent:
teamcity agent authorize <agent-id>
teamcity agent deauthorize <agent-id>Move agent to a different pool:
teamcity agent move <agent-id> <pool-id>Reboot an agent:
teamcity agent reboot <agent-id>Reboot after current build finishes:
teamcity agent reboot <agent-id> --after-buildRemote Agent Access
Open interactive shell on an agent:
teamcity agent term <agent-id>Execute a command on an agent:
teamcity agent exec <agent-id> "ls -la"Execute with timeout:
teamcity agent exec <agent-id> --timeout 10m -- long-running-script.shManaging Agent Pools
List all pools:
teamcity pool listView pool details:
teamcity pool view <pool-id>Link a project to a pool:
teamcity pool link <pool-id> <project-id>Unlink a project from a pool:
teamcity pool unlink <pool-id> <project-id>Tips
1. Use `--json` for programmatic access - Parse with jq for complex queries
1. Use `teamcity api` as escape hatch - When a specific command doesn't exist, use raw API access
1. Environment variables - Set TEAMCITY_URL and TEAMCITY_TOKEN for non-interactive use
1. Open in browser - Most view commands support -w to open in web browser
1. Auto-detection from DSL – When working in a project with Kotlin DSL config, the server URL is auto-detected from .teamcity/pom.xml
1. Multiple servers - Use TEAMCITY_URL env var to switch between servers, or teamcity auth login --server <url> to add servers
Troubleshooting
| Symptom | Likely Cause | Action |
|---|---|---|
401 Unauthorized | Invalid or expired token | Run teamcity auth status to check; re-login with teamcity auth login |
403 Forbidden | Insufficient permissions | Build config may require different access rights; check with TeamCity admin |
404 Not Found | Build deleted or wrong ID | Verify the build ID/URL; the build may have been cleaned up |
| Connection refused / timeout | Server unreachable | Check if TeamCity instance is accessible; verify server URL with teamcity auth status |
No server configured | Missing auth config | Run teamcity auth login -s <url> or set TEAMCITY_URL and TEAMCITY_TOKEN env vars |
Related skills
How it compares
Pick this when CI operations must be scriptable and repeatable; pick the UI when you only need occasional manual inspection.
FAQ
What does teamcity-cli do?
Use when working with TeamCity CI/CD or when user provides a TeamCity build URL. Use `teamcity` CLI for builds, logs, jobs, queues, and agents.
When should I use teamcity-cli?
Invoke when Use when working with TeamCity CI/CD or when user provides a TeamCity build URL. Use `teamcity` CLI for builds, logs, jobs, queues, and agen.
Is teamcity-cli safe to install?
Review the Security Audits panel on this page before installing in production.