Python interface to the REST API of TeamCity
pip install pyteamcity
Note that I am working on a new API currently called pyteamcity.future (initially added in #37).
Goal here is to create a brand new API that is much more flexible and to have nicer code that is easier to work with. The old code encourages adding a zillion methods for different ways of filtering. The new code has an API with a smaller number of methods that are more consistent and more flexible in terms of filtering. It is modeled after the Django ORM API.
There's no formal docs for this API yet, but you should be able to figure out how to use it by looking at the unit tests.
I am probably not going to merge PRs that add things to the old API, because I see the new API as the future. I of course am very interested in PRs that add things to the new API!
from pyteamcity import TeamCity
# This initialises the Client with the settings passed. <port> has to be an integer.
tc = TeamCity('account', 'password', 'server', <port>)
or specify no parameters and it will read settings from environment variables:
TEAMCITY_USER
TEAMCITY_PASSWORD
TEAMCITY_HOST
TEAMCITY_PORT
(Defaults to 80 if not set)
from pyteamcity import TeamCity
# Initialises with environment variables: TEAMCITY_{USER,PASSWORD,HOST,PORT}
tc = TeamCity()
tc.get_projects()
tc.get_project_by_project_id('MyProject')
tc.get_all_users()
tc.get_user_by_username('codyw')
tc.get_all_vcs_roots()
tc.get_all_build_types()
tc.get_changes_by_build_id(73450)
tc.get_build_statistics_by_build_id(73450)
tc.get_build_tags_by_build_id(73450)
tc.get_all_changes()
tc.get_change_by_change_id(16884)
tc.get_all_builds(start=0, count=3)
tc.get_build_by_build_id(73450)
tc.get_server_info()
tc.get_agents()
tc.get_all_plugins()
You can also look at sample.py or test_legacy.py
This is a heavily-modified fork of https://github.com/yotamoron/teamcity-python-rest-client so many thanks are due to Yotam Oron