Developing TeamCity Plugins
tip
TeamCity is hiring! Learn about the available vacancies on the JetBrains site.
TeamCity functionality can be significantly extended by custom plugins. TeamCity plugins are written in Java (any JVM-based language like Kotlin or Groovy can be used), run within the TeamCity application and have access to internal entities of the TeamCity server or agent.
Aside from this documentation, refer to the following sources:
bundled sample plugin
list of existing plugins and bundled open-source plugins
If you need more information or have a question regarding the API, please do not hesitate to post your question into TeamCity Plugins forum. Use the search before posting to avoid possible duplication of discussions.
Consider making your plugin public and submit it to the TeamCity plugins repository.
Please refer to corresponding section for further details.
To quickly create your first plugin with Maven, see Getting Started with Plugin Development. For more details, refer to the section Developing Plugins Using Maven featuring a Maven archetype supported by JetBrains.
You may also find Gradle TeamCity plugin useful, which supports agent and server-side plugins, and helps to download, install a TeamCity server, perform tasks to deploy, start and stop the server and agent.
The following plugins bundled with TeamCity are developed by JetBrains and are open-sourced under Apache 2.0 license.
XML Test Reporting
Allows TeamCity to parse XML-based report files produced by external tools and display these reports as build results.
Git VCS Support
Adds Git support.
Shared Resources
Allows you to limit the number of running builds that use the same shared resource (for example, an external database or a server with a limited number of connections).
Commit Status Publisher
Allows TeamCity to automatically send build statuses of your commits to an external system (GitHub, GitLab, Azure DevOps, Bitbucket, and others).
VMware vSphere Cloud
Allows you to host TeamCity build agents on VMware vSphere/vCenter cloud. Cloud-hosted agents are created, started, stopped, and deleted depending on queued builds.
Thanks for your feedback!