Developing TeamCity Plugins
 | This is preliminary documentation and subject to change. |
TeamCity is a highly extendable system. You can add various plugins in different places, including, but not limited to:
- Custom notifiers
- Custom build triggers
- Custom build runners with possibility to view customized reports on the Web
- Extensions to Ant Runner which allows to add custom logging and view reports on the Web
- Custom statistics reports based on the information in the database
- Custom user authentication
- Support of additional VCS
Currently, TeamCity can be extended on the build agent side, and on the server side (including web UI). Some extensions may require to extend TeamCity in all these places. We plan to provide a description for some typical plugins and how to write them.
TeamCity server is written in Java, so plugins should be written in Java too.
 | TeamCity is compiled using JDK 1.5, so plugins should use JDK 1.5 as well. |
TeamCity .exe and tar.gz distributions provide materials for plugin developers in the <TeamCity home>\devPackage directory.
- openApi-source.jar - sources of the TeamCity open API
- openApi-help.jar - JavaDoc generated form the open API sources
- samplePlugin.zip - sample TeamCity plugin IntelliJ IDEA project. To open it, you will need the following path variables defined: TOMCAT6 pointing to TeamCity home, TEAMCITYPATH pointing to Teamcity web application directory (<TeamCity home>/webapps/ROOT by default).
Further reading: