General Info

Vendor

JetBrains

License

Apache 2.0

Type

free, open-source

Plugin Description

Exposes TeamCity API via REST.

The plugin is bundled with TeamCity 5.0

Usage

If your server is accessible via http://teamcity:8111/ URL, use:
http://teamcity:8111/httpAuth/app/rest/application.wadl - to the get list of supported requests and names of parameters. Provide valid TeamCity username and password with the request as BASIC HTTP authentication.

For example:
http://teamcity:8111/httpAuth/app/rest/version - to get plugin version
http://teamcity:8111/httpAuth/app/rest/projects - to get projects list, then follow href's
http://teamcity:8111/httpAuth/app/rest/buildTypes/id:bt284/builds?status=SUCCESS&tag=EAP - (example ids are used) to get builds
http://teamcity:8111/httpAuth/app/rest/changes?buildType=id:bt133&sinceChange=id:24234 - (example ids are used) to get all the changes in build configuration since the change identified by id.

As a rule, single value responses are "text/plain" and complex value responses support both "application/xml" and "application/json". Supply appropriate "Accept" header in the request to get necessary response type.

Feel free to ask questions and provide feedback in our plugins forum.

Build Tags

Get tags: GET http://teamcity:8111/httpAuth/app/rest/builds/<buildLocator>/tags/
Replace tags: PUT http://teamcity:8111/httpAuth/app/rest/builds/<buildLocator>/tags/ (should put the same XML of JSON as returned by GET)
Add tags: POST http://teamcity:8111/httpAuth/app/rest/builds/<buildLocator>/tags/ (should post the same XML of JSON as returned by GET or just a plain-text tag name)

Where <buildLocator> is a string in the formats of id:<internal build id>.

Superuser access

If you add "rest.use.authToken=true" internal property, any user can perform superuser operation if authToken is passed in URL parameter. The authToken will be logged into logs/teamcity-rest.log log.

Data Backup

Start backup: POST http://teamcity:8111/httpAuth/app/rest/server/backup?includeConfigs=true&includeDatabase=true&includeBuildLogs=true&fileName=<fileName> where <fileName> in the prefix of the file to save backup to
Get current backup status (idle/running): GET http://teamcity:8111/httpAuth/app/rest/server/backup

Development links

Sources

If you need to extend the plugin with your functionality, you can base your plugin on the current REST API plugin code, but ensure that your plugin does not interfere with the bundled REST plugin. To achieve this, change teamcity-plugin.xml file to have different plugin name and different value for "api.path" parameter. Once this is done, your patched plugin and original REST api plugin can work in the single TeamCity installation.

[Builds|http://buildserver.labs.intellij.net/viewType.html?buildTypeId=bt638] at buildserver.

TeamCity Versions Compatibility

TeamCity 5.0 and above.

h2. History
|| Date            || Build || Changes   ||
| January, 16, 2009 | [15|http://teamcity.jetbrains.com/viewLog.html?buildId=17541&tab=artifacts&buildTypeId=bt120] | Changed plugin packaging into .zip, updated plugin installation instructions |
| January, 12, 2009 | [14|http://teamcity.jetbrains.com/viewLog.html?buildId=17431&tab=artifacts&buildTypeId=bt120] | Added J2EE profiling option |
| ...  | | updated plugin to match TeamCity 4.0  ||
| April, 24, 2008 | [17|http://teamcity.jetbrains.com/viewLog.html?tab=buildResultsDiv&buildTypeId=bt112&buildNumber=17] | Added memory capturing ability, UI facelift, better errors reporting |
| April, 21, 2008 | [15|http://teamcity.jetbrains.com/viewLog.html?tab=buildResultsDiv&buildTypeId=bt112&buildNumber=15] | Initial release |

h2. Download
Directly from public TeamCity server:
[last stable build|http://teamcity.jetbrains.com/viewLog.html?guest=1&tab=artifacts&buildTypeId=bt120&buildId=lastPinned]
[last nightly build|http://teamcity.jetbrains.com/viewLog.html?guest=1&tab=artifacts&buildTypeId=bt120&buildId=lastSuccessful] (may be unstable)