diff --git a/README.md b/README.md index 4db5e6a8..60950ae6 100644 --- a/README.md +++ b/README.md @@ -1,52 +1,52 @@ -#TeamCitySharp +# TeamCitySharp *.NET Library to access TeamCity via their REST API. For more information on TeamCity visit: http://www.jetbrains.com/teamcity -##Releases +## Releases Please find the release notes [here](https://github.com/stack72/TeamCitySharp/releases) -##License +## License http://stack72.mit-license.org/ -##Installation +## Installation There are 2 ways to use TeamCitySharp: * install-package TeamCitysharp (via Nuget) * Download source and compile -##Build Monitor +## Build Monitor * There is a sample build monitor built with TeamCitySharp. It can be found at [TeamCityMonitor](https://github.com/stack72/TeamCityMonitor) -##Sample Usage +## Sample Usage To get a list of projects - - var client = new TeamCityClient("localhost:81"); - client.Connect("admin", "qwerty"); - var projects = client.Projects.All(); - +```csharp +var client = new TeamCityClient("localhost:81"); +client.Connect("admin", "qwerty"); +var projects = client.Projects.All(); +``` To get a list of running builds - - var client = new TeamCityClient("localhost:81"); - client.Connect("admin", "qwerty"); - var builds = client.Builds.ByBuildLocator(BuildLocator.RunningBuilds()); - -##Connecting to a server +```csharp +var client = new TeamCityClient("localhost:81"); +client.Connect("admin", "qwerty"); +var builds = client.Builds.ByBuildLocator(BuildLocator.RunningBuilds()); +``` +## Connecting to a server To connect as an authenticated user: - - var client = new TeamCityClient("localhost:81"); - client.Connect("username", "password"); - +```csharp +var client = new TeamCityClient("localhost:81"); +client.Connect("username", "password"); +``` To connect as a Guest: - - var client = new TeamCityClient("localhost:81"); - client.ConnectAsGuest(); - -##API Interaction Groups +```csharp +var client = new TeamCityClient("localhost:81"); +client.ConnectAsGuest(); +``` +## API Interaction Groups There are many tasks that the TeamCity API can do for us. TeamCitySharp groups these tasks into specialist areas * Builds @@ -61,103 +61,116 @@ There are many tasks that the TeamCity API can do for us. TeamCitySharp groups t Each area has its own list of methods available -###Builds - List SuccessfulBuildsByBuildConfigId(string buildConfigId); - Build LastSuccessfulBuildByBuildConfigId(string buildConfigId); - List FailedBuildsByBuildConfigId(string buildConfigId); - Build LastFailedBuildByBuildConfigId(string buildConfigId); - Build LastBuildByBuildConfigId(string buildConfigId); - List ErrorBuildsByBuildConfigId(string buildConfigId); - Build LastErrorBuildByBuildConfigId(string buildConfigId); - List ByBuildConfigId(string buildConfigId); - List ByConfigIdAndTag(string buildConfigId, string tag); - List ByUserName(string userName); - List ByBuildLocator(BuildLocator locator); - List AllSinceDate(DateTime date); - List AllBuildsOfStatusSinceDate(DateTime date, BuildStatus buildStatus); - List NonSuccessfulBuildsForUser(string userName); - Build LastBuildByAgent(string agentName); - -###Projects - List All(); - Project ByName(string projectLocatorName); - Project ById(string projectLocatorId); - Project Details(Project project); - Project Create(string projectName); - void Delete(string projectName); - void DeleteProjectParameter(string projectName, string parameterName); - void SetProjectParameter(string projectName, string settingName, string settingValue); - -###BuildConfigs - List All(); - BuildConfig ByConfigurationName(string buildConfigName); - BuildConfig ByConfigurationId(string buildConfigId); - BuildConfig ByProjectNameAndConfigurationName(string projectName, string buildConfigName); - BuildConfig ByProjectNameAndConfigurationId(string projectName, string buildConfigId); - BuildConfig ByProjectIdAndConfigurationName(string projectId, string buildConfigName); - BuildConfig ByProjectIdAndConfigurationId(string projectId, string buildConfigId); - List ByProjectId(string projectId); - List ByProjectName(string projectName); - BuildConfig CreateConfiguration(string projectName, string configurationName); - - void SetConfigurationSetting(BuildTypeLocator locator, string settingName, string settingValue); - void PostRawArtifactDependency(BuildTypeLocator locator, string rawXml); - void PostRawBuildStep(BuildTypeLocator locator, string rawXml); - void PostRawBuildTrigger(BuildTypeLocator locator, string rawXml); - void SetConfigurationParameter(BuildTypeLocator locator, string key, string value); - void PostRawAgentRequirement(BuildTypeLocator locator, string rawXml); - void DeleteBuildStep(BuildTypeLocator locator, string buildStepId); - void DeleteArtifactDependency(BuildTypeLocator locator, string artifactDependencyId); - void DeleteAgentRequirement(BuildTypeLocator locator, string agentRequirementId); - void DeleteParameter(BuildTypeLocator locator, string parameterName); - void DeleteBuildTrigger(BuildTypeLocator locator, string buildTriggerId); - - void SetBuildTypeTemplate(BuildTypeLocator locatorBuildType, BuildTypeLocator locatorTemplate); - void DeleteSnapshotDependency(BuildTypeLocator locator, string snapshotDependencyId); - void PostRawSnapshotDependency(BuildTypeLocator locator, XmlElement rawXml); - BuildConfig BuildType(BuildTypeLocator locator); - - void DeleteConfiguration(BuildTypeLocator locator); - void DeleteAllBuildTypeParameters(BuildTypeLocator locator); - void PutAllBuildTypeParameters(BuildTypeLocator locator, IDictionary parameters); - void DownloadConfiguration(BuildTypeLocator locator, Action downloadHandler); - -###ServerInformation - Server ServerInfo(); - List AllPlugins(); - string TriggerServerInstanceBackup(BackupOptions backupOptions); - -###Users - List All(); - User Details(string userName); - List AllRolesByUserName(string userName); - List AllGroupsByUserName(string userName); - List AllUserGroups(); - List AllUsersByUserGroup(string userGroupName); - List AllUserRolesByUserGroup(string userGroupName); - bool Create(string username, string name, string email, string password); - bool AddPassword(string username, string password); - -###Agents - List All(); - -###VcsRoots - List All(); - VcsRoot ById(string vcsRootId); - VcsRoot AttachVcsRoot(BuildTypeLocator locator, VcsRoot vcsRoot); - void DetachVcsRoot(BuildTypeLocator locator, string vcsRootId); - void SetVcsRootField(VcsRoot vcsRoot, VcsRootField field, object value); - -###Changes - List All(); - Change ByChangeId(string id); - Change LastChangeDetailByBuildConfigId(string buildConfigId); - List ByBuildConfigId(string buildConfigId); - -###BuildArtifacts - void DownloadArtifactsByBuildId(string buildId, Action downloadHandler); - -##Credits +### Builds +```csharp +List SuccessfulBuildsByBuildConfigId(string buildConfigId); +Build LastSuccessfulBuildByBuildConfigId(string buildConfigId); +List FailedBuildsByBuildConfigId(string buildConfigId); +Build LastFailedBuildByBuildConfigId(string buildConfigId); +Build LastBuildByBuildConfigId(string buildConfigId); +List ErrorBuildsByBuildConfigId(string buildConfigId); +Build LastErrorBuildByBuildConfigId(string buildConfigId); +List ByBuildConfigId(string buildConfigId); +List ByConfigIdAndTag(string buildConfigId, string tag); +List ByUserName(string userName); +List ByBuildLocator(BuildLocator locator); +List AllSinceDate(DateTime date); +List AllBuildsOfStatusSinceDate(DateTime date, BuildStatus buildStatus); +List NonSuccessfulBuildsForUser(string userName); +Build LastBuildByAgent(string agentName); +``` +### Projects +```csharp +List All(); +Project ByName(string projectLocatorName); +Project ById(string projectLocatorId); +Project Details(Project project); +Project Create(string projectName); +void Delete(string projectName); +void DeleteProjectParameter(string projectName, string parameterName); +void SetProjectParameter(string projectName, string settingName, string settingValue); +``` +### BuildConfigs +```csharp +List All(); +BuildConfig ByConfigurationName(string buildConfigName); +BuildConfig ByConfigurationId(string buildConfigId); +BuildConfig ByProjectNameAndConfigurationName(string projectName, string buildConfigName); +BuildConfig ByProjectNameAndConfigurationId(string projectName, string buildConfigId); +BuildConfig ByProjectIdAndConfigurationName(string projectId, string buildConfigName); +BuildConfig ByProjectIdAndConfigurationId(string projectId, string buildConfigId); +List ByProjectId(string projectId); +List ByProjectName(string projectName); +BuildConfig CreateConfiguration(string projectName, string configurationName); + +void SetConfigurationSetting(BuildTypeLocator locator, string settingName, string settingValue); +void PostRawArtifactDependency(BuildTypeLocator locator, string rawXml); +void PostRawBuildStep(BuildTypeLocator locator, string rawXml); +void PostRawBuildTrigger(BuildTypeLocator locator, string rawXml); +void SetConfigurationParameter(BuildTypeLocator locator, string key, string value); +void PostRawAgentRequirement(BuildTypeLocator locator, string rawXml); +void DeleteBuildStep(BuildTypeLocator locator, string buildStepId); +void DeleteArtifactDependency(BuildTypeLocator locator, string artifactDependencyId); +void DeleteAgentRequirement(BuildTypeLocator locator, string agentRequirementId); +void DeleteParameter(BuildTypeLocator locator, string parameterName); +void DeleteBuildTrigger(BuildTypeLocator locator, string buildTriggerId); + +void SetBuildTypeTemplate(BuildTypeLocator locatorBuildType, BuildTypeLocator locatorTemplate); +void DeleteSnapshotDependency(BuildTypeLocator locator, string snapshotDependencyId); +void PostRawSnapshotDependency(BuildTypeLocator locator, XmlElement rawXml); +BuildConfig BuildType(BuildTypeLocator locator); + +void DeleteConfiguration(BuildTypeLocator locator); +void DeleteAllBuildTypeParameters(BuildTypeLocator locator); +void PutAllBuildTypeParameters(BuildTypeLocator locator, IDictionary parameters); +void DownloadConfiguration(BuildTypeLocator locator, Action downloadHandler); +``` + +### ServerInformation +```csharp +Server ServerInfo(); +List AllPlugins(); +string TriggerServerInstanceBackup(BackupOptions backupOptions); +``` + +### Users +```csharp +List All(); +User Details(string userName); +List AllRolesByUserName(string userName); +List AllGroupsByUserName(string userName); +List AllUserGroups(); +List AllUsersByUserGroup(string userGroupName); +List AllUserRolesByUserGroup(string userGroupName); +bool Create(string username, string name, string email, string password); +bool AddPassword(string username, string password); +``` + +### Agents +```csharp +List All(); +``` +### VcsRoots +```csharp +List All(); +VcsRoot ById(string vcsRootId); +VcsRoot AttachVcsRoot(BuildTypeLocator locator, VcsRoot vcsRoot); +void DetachVcsRoot(BuildTypeLocator locator, string vcsRootId); +void SetVcsRootField(VcsRoot vcsRoot, VcsRootField field, object value); +``` + +### Changes +```csharp +List All(); +Change ByChangeId(string id); +Change LastChangeDetailByBuildConfigId(string buildConfigId); +List ByBuildConfigId(string buildConfigId); +``` +### BuildArtifacts +```csharp +void DownloadArtifactsByBuildId(string buildId, Action downloadHandler); +``` +## Credits Copyright (c) 2013 Paul Stack (@stack72) @@ -169,4 +182,4 @@ Thanks to the following contributors: * Alexander Fast (@mizipzor) * Serge Baltic * Philipp Dolder -* Mark deVilliers \ No newline at end of file +* Mark deVilliers