[[PageOutline(2-5,Contents,pullout)]] = Integrate the Teamcity build service into Trac == Description This is an integration plugin for Continuous Integration and Build Server [http://www.jetbrains.com/teamcity/ Teamcity]. Teamcity is a build and integration server by the !JetBrains company. It is free to use, but proprietary licensed. This plugin provides 'build' events from Teamcity server to your Trac timeline and creates control buttons and progress bars for selected Teamcity builds. == Bugs/Feature Requests Existing bugs and feature requests for TeamcityPluginIntegration are [report:9?COMPONENT=TeamcityPluginIntegration here]. If you have any issues, create a [/newticket?component=TeamcityPluginIntegration new ticket]. [[TicketQuery(component=TeamcityPluginIntegration&group=type,format=progress)]] == Download Download the zipped source from [export:teamcitypluginintegration here]. == Source You can check out TeamcityPluginIntegration from [/svn/teamcitypluginintegration here] using Subversion, or [source:teamcitypluginintegration browse the source] with Trac. == Installation 1. Install the `lxml` package. for example: `sudo apt-get install python-lxml` on Ubuntu. 1. Add a special user in your Teamcity installation for this Trac plugin. 1. Get latest version from svn: {{{#!sh svn co https://trac-hacks.org/svn/teamcitypluginintegration }}} 1. Build egg-file and place it in the Trac plugins directory: {{{#!sh python setup.py bdist_egg cp dist/TeamCityPlugin-X.X-pyX.X.egg /path/to/trac/instance/plugins/ }}} 1. Edit `trac.ini` to enable the plugin: {{{#!ini [components] teamcity.* = enabled }}} == Configuration 1. Add permissions to users allowed to build and/or configure the plugin. There are two !TeamCity permissions: * `TEAMCITY_BUILD` allows to view /trac-instance/builds page and run builds. * `TEAMCITY_ADMIN` allows to edit plugin settings. {{{#!sh trac-admin /path/to/trac/instance permission add authenticated TEAMCITY_BUILD }}} 1. Edit plugin settings. All plugin settings are stored in config.ini, so you can add a new section to `trac.ini` or go to `trac-instance/admin/teamcity/builds` and fill the web-form. Settings: {{{#!ini [teamcity] base_url = http://: # base url to TC server, WITHOUT trailing slash username = trac password = trac1 # TC credentials which plugin will use to access TC server cache_dir = /tmp/teamcity_cache # Plugin will cache here build logs from Teamcity builds = bt1,bt2 # A list of buildTypeId from TC to follow limit = 10080 # Number of minutes for timeline # Plugin will add events to timeline for builds which are newer than now()-limit }}} All of the described settings can be added to `trac.ini` directly or enabled via the admin interface. == Recent Changes [[ChangeLog(teamcitypluginintegration, 3)]] == Author/Contributors '''Author:''' [wiki:siniy] [[BR]] '''Maintainer:''' [[Maintainer]][[BR]] '''Contributors:''' [[BR]]