Managing Pipelines
Pipelines are a YAML-based configuration system for defining CI/CD workflows in TeamCity. Each pipeline belongs to a project, references a VCS root, and contains one or more jobs. The teamcity pipeline command group lets you list, inspect, create, and manage pipeline YAML.
Listing pipelines
View all pipelines on the server:

Filter by project:
pipeline list flags
Flag | Description |
|---|---|
| Filter by project ID |
| Maximum number of pipelines to display (default 30) |
| Output as JSON. Use |
Viewing pipeline details
The view shows the pipeline name, parent project, head build type, and all jobs with their YAML keys and display names.
Validating pipeline YAML
Validate a .teamcity.yml file against the server's JSON schema before pushing:
The schema is fetched from the server and cached locally for 24 hours. Use --refresh-schema to force a re-fetch, or --schema to use a local schema file.
validate flags
Flag | Description |
|---|---|
| Path to a local JSON schema file |
| Force re-fetch schema from server |
Inspecting the pipeline schema
Print the per-instance JSON schema TeamCity uses to validate .teamcity.yml:

The schema reflects the runners, parameters, and constructs available on the connected server, so it can drift between TeamCity versions. The CLI caches it locally for 24 hours; pass --refresh to bypass the cache and re-fetch from the server:
If the server predates TeamCity 2026.1 (no schema endpoint), the command prints an embedded fallback schema and writes a warning to stderr.
Creating a pipeline
Create a new pipeline from a YAML file:
When --vcs-root is omitted, an interactive prompt lists VCS roots available in the project.
create flags
Flag | Description |
|---|---|
| Parent project ID (required) |
| VCS root ID. Use |
| Path to pipeline YAML file (default |
Downloading pipeline YAML
Download the YAML source for a server-stored pipeline:
Output goes to stdout by default, making it pipe-friendly. Use -o to write to a file.
Uploading pipeline YAML
Push updated YAML to a server-stored pipeline:
When no file is specified, the CLI reads .teamcity.yml from the current directory.
Deleting a pipeline
A confirmation prompt is shown unless --yes is passed.
Managing secrets
Pipeline secrets use credentialsJSON: tokens. Create a token in the pipeline's project, then reference it in your YAML:
Reference the token in your pipeline YAML:
Then push:
Pipelines in other commands
Project tree
teamcity project tree shows pipelines alongside jobs, marked with ⬡:
Pipeline-generated sub-projects and virtual build types are hidden automatically.
Run view
When viewing a pipeline run, the CLI shows the pipeline name and lists all jobs:
Run tree
teamcity run tree detects pipeline runs and displays a flat job list with a status summary instead of a generic dependency tree:

Job list
teamcity job list hides pipeline head build types by default. Use --all to show them:
Running a pipeline
Pipelines are triggered through the standard run start command using the pipeline head build type ID: