TeamCity GitHub VCS Integration

TeamCity offers full-featured integration with GitHub.com and GitHub Enterprise, allowing you to verify the quality of each commit while maintaining a streamlined developer workflow. Whether you’re working privately in feature branches or inviting community contributors to fork your repo and upstream their changes, you can use TeamCity to build and test new code automatically.

Tailored to your workflow

As a powerful CI/CD platform, TeamCity has the flexibility to adapt to your processes. Whether you’re working with feature branches or tagging release candidates, hosting everything in GitHub or split across multiple version control systems, you can configure automated pipelines that meet your needs.

Read about TeamCity’s customizability below.

All the information you need, where you need it

Checking the status of your latest code changes should be simple. By integrating your CI/CD platform with GitHub, you can view details of commits and related GitHub issues from TeamCity or check your build status and test results from GitHub. The choice is yours.

Read about TeamCity’s reporting features below.

Actionable test insights

Build, test, and deployment issues may be inevitable, but long delays before the pipeline can restart are not. When failures occur, TeamCity provides the information you need to start debugging the issue, so you can start working on a fix immediately.

Read about TeamCity’s test intelligence below.

Boost your productivity with advanced CI/CD for GitHub

No matter how large or small your project, verifying your changes as you work makes for a more productive and enjoyable developer experience. The shorter the feedback loop, the better, which is why an automated CI/CD process is an essential component of any software development project.

TeamCity speeds up the development process in a variety of ways:

  • By optimizing the pipeline and reusing artifacts from previous builds, it runs only the minimum required steps in the pipelines and ensures that you’re not wasting time rebuilding everything from scratch.
  • Intelligent test parallelization allows you to reduce the time required to run automated tests.
  • Real-time reports and notifications allow you to learn about problems with your code without waiting for the build to complete.
  • Smart failure analysis helps you quickly find the author and the exact commit that broke the build, so you can iterate faster.
  • Test history gives you a higher level understanding of problematic places in your project and enables you to analyze trends and spot unusual behavior in your code.

With the flexibility to configure custom pipelines to complement your software development workflow, TeamCity enables teams, individuals, and community projects to implement DevOps best practices and reap the benefits of automated continuous integration and delivery.

Ready to speed up your GitHub-based development?

Our CI/CD integration for GitHub is available for both on-premises and cloud versions of TeamCity, giving you the flexibility to manage the location of your build agents or offload infrastructure considerations and focus on building great software.

Core GitHub integration features

Seamless authentication

Both TeamCity On-Premises and TeamCity Cloud give you full control over authentication with GitHub. You can automatically create a new account when a person signs in with GitHub, restrict access to members of your organization, manage TeamCity user permissions independently of GitHub roles, and more.

Native pull request support

TeamCity detects when a GitHub pull request is opened, and can trigger CI/CD checks based on a variety of criteria:

  • Source and target branch names.
  • Author of the pull request and their role with your organization.
  • Changes in specific files and directories.
  • Text of the commit message.

You can view the progress and results of automated checks inside the GitHub UI and have TeamCity merge pull requests automatically if all checks complete successfully.

Status reporting

TeamCity provides feedback in all places where you expect to receive it. Inside the TeamCity UI, you can see progress updates on builds, tests, and deployments displayed in real time. It also sends the respective information to GitHub, allowing you to always know the status of your commit or pull request.

To give you even faster notifications, TeamCity offers built-in support for Slack, IDE, browser, and email alerts, while TeamCity plugins provide a whole host of additional options, from Telegram to Discord.

Automation of CI/CD pipelines of any complexity and scale

Unmatched customizability and control

TeamCity is designed to smoothly integrate into every team’s development workflow and make it more efficient. Feature branches, release branches, pull requests, monorepo, or multiple VCSs of different types – regardless of the process you use to ship new features, our solution can make it faster and more enjoyable.

TeamCity supports all programming languages, works on all platforms, and integrates with all popular build and test frameworks. It lets you automate your CI/CD with the use of multiple triggers of different types, and dynamically customize build, test, and deployment steps based on parameters set by triggers or defined at any point inside the pipeline itself.

After the build completes, TeamCity can automatically merge changes into the target branch, record build numbers as Git tags, update the status of the commit or the pull request in GitHub, publish build artifacts to a container registry, and much more. No matter what you’re working on, TeamCity can build it!

Actionable test insights

TeamCity understands your tests like no other CI/CD tool:

  • If a test fails, TeamCity automatically identifies the commits that triggered the failure and the GitHub user responsible.
  • You can view details of failed tests, including build logs, stack traces, build artifacts, and screenshots, allowing you to start debugging sooner.
  • Test history helps you identify flaky tests, see what kind of changes usually break the build, spot differences in test duration, and find the exact moment when a particular test started failing first.
  • You can assign investigation of unreliable tests to individuals and mute the failure in the meantime.
  • Code coverage and static analysis help you see potential problems with your code.

Best of all, these features are available even if your tests are run in Docker.

FAQ: Continuous integration with TeamCity and GitHub

Can TeamCity help with migration to GitHub from other VCSs?

TeamCity is not the right tool to do the migration itself, but it can provide an uninterrupted CI/CD experience during the migration. By adding all repositories to TeamCity’s VCS Roots, you will make the entire code available for the build process, regardless of whether it is still in the old VCS, in the new one, or somewhere in between.

Is TeamCity better than GitHub?

TeamCity and GitHub serve different purposes, so it is inaccurate to say that one is better than the other. TeamCity is focused on the CI/CD pipeline and has many more features than GitHub Actions, but it doesn’t have the version control, code review, or project management features of GitHub.

Is TeamCity’s integration with GitHub a free feature?

Yes, TeamCity’s integration with GitHub is a free feature. The free on-premises version, TeamCity Professional, can be used for commercial purposes without any limitations.

Can I test my code in TeamCity without committing it to GitHub?

Yes, it is possible to test code in TeamCity without committing it to GitHub. To do so, you can create a Git patch, upload it to TeamCity, and then run a personal build, or use an IDE plugin.