TeamCity VCS Roots API

Manage version control system roots

OpenAPI Specification

teamcity-vcs-roots-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TeamCity REST Agent Pools VCS Roots API
  description: The TeamCity REST API provides programmatic access to JetBrains TeamCity continuous integration and deployment server. It allows you to manage projects, build configurations, builds, agents, users, VCS roots, changes, tests, and other TeamCity resources.
  version: 2024.12.1
  contact:
    name: JetBrains
    url: https://www.jetbrains.com/support/teamcity/
    email: teamcity-support@jetbrains.com
  license:
    name: Proprietary
    url: https://www.jetbrains.com/teamcity/buy/
  x-logo:
    url: https://www.jetbrains.com/teamcity/img/teamcity-logo.svg
servers:
- url: https://{server}/app/rest
  description: TeamCity Server
  variables:
    server:
      default: teamcity.example.com
      description: Your TeamCity server hostname
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: VCS Roots
  description: Manage version control system roots
paths:
  /vcs-roots:
    get:
      operationId: getAllVcsRoots
      summary: Get All VCS Roots
      description: Returns a list of all VCS roots.
      tags:
      - VCS Roots
      parameters:
      - $ref: '#/components/parameters/locator'
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VcsRoots'
    post:
      operationId: createVcsRoot
      summary: Create VCS Root
      description: Creates a new VCS root.
      tags:
      - VCS Roots
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VcsRoot'
      responses:
        '200':
          description: VCS root created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VcsRoot'
  /vcs-roots/{vcsRootLocator}:
    get:
      operationId: getVcsRoot
      summary: Get VCS Root
      description: Returns details of a specific VCS root.
      tags:
      - VCS Roots
      parameters:
      - name: vcsRootLocator
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VcsRoot'
    delete:
      operationId: deleteVcsRoot
      summary: Delete VCS Root
      description: Deletes a specific VCS root.
      tags:
      - VCS Roots
      parameters:
      - name: vcsRootLocator
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: VCS root deleted successfully
components:
  parameters:
    fields:
      name: fields
      in: query
      description: Fields to include in the response (for partial responses)
      schema:
        type: string
    locator:
      name: locator
      in: query
      description: TeamCity locator string to filter results
      schema:
        type: string
  schemas:
    VcsRoot:
      type: object
      properties:
        id:
          type: string
          description: VCS root unique identifier
        name:
          type: string
          description: VCS root display name
        vcsName:
          type: string
          description: VCS type (e.g., jetbrains.git)
        href:
          type: string
        status:
          type: string
        lastChecked:
          type: string
        project:
          $ref: '#/components/schemas/Project'
        properties:
          $ref: '#/components/schemas/Properties'
    BuildTypes:
      type: object
      properties:
        count:
          type: integer
        buildType:
          type: array
          items:
            $ref: '#/components/schemas/BuildType'
    VcsRoots:
      type: object
      properties:
        count:
          type: integer
        href:
          type: string
        vcs-root:
          type: array
          items:
            $ref: '#/components/schemas/VcsRoot'
    BuildType:
      type: object
      properties:
        id:
          type: string
          description: Build configuration unique identifier
        name:
          type: string
          description: Build configuration display name
        description:
          type: string
          description: Build configuration description
        projectName:
          type: string
          description: Name of the parent project
        projectId:
          type: string
          description: ID of the parent project
        href:
          type: string
        webUrl:
          type: string
        paused:
          type: boolean
        parameters:
          $ref: '#/components/schemas/Properties'
        steps:
          $ref: '#/components/schemas/Steps'
        triggers:
          $ref: '#/components/schemas/Triggers'
        settings:
          $ref: '#/components/schemas/Properties'
    Triggers:
      type: object
      properties:
        count:
          type: integer
        trigger:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              type:
                type: string
              properties:
                $ref: '#/components/schemas/Properties'
    Steps:
      type: object
      properties:
        count:
          type: integer
        step:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              type:
                type: string
              properties:
                $ref: '#/components/schemas/Properties'
    Properties:
      type: object
      properties:
        count:
          type: integer
        href:
          type: string
        property:
          type: array
          items:
            $ref: '#/components/schemas/Property'
    Project:
      type: object
      properties:
        id:
          type: string
          description: Project unique identifier
        name:
          type: string
          description: Project display name
        description:
          type: string
          description: Project description
        href:
          type: string
          description: Relative URL to this project resource
        webUrl:
          type: string
          description: URL to the project in the TeamCity web UI
        parentProjectId:
          type: string
          description: Parent project identifier
        archived:
          type: boolean
          description: Whether the project is archived
        buildTypes:
          $ref: '#/components/schemas/BuildTypes'
        parameters:
          $ref: '#/components/schemas/Properties'
        projects:
          $ref: '#/components/schemas/Projects'
    Property:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
        inherited:
          type: boolean
        type:
          type: object
          properties:
            rawValue:
              type: string
    Projects:
      type: object
      properties:
        count:
          type: integer
        href:
          type: string
        project:
          type: array
          items:
            $ref: '#/components/schemas/Project'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication using access tokens
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication with username and password
externalDocs:
  description: TeamCity REST API Documentation
  url: https://www.jetbrains.com/help/teamcity/rest-api.html