Developing TeamCity Plugins
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:
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.
Plugin Quick Start
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.