From 4620e02bbc561a4cd4fe74ae8c85d3ceb0ba65f6 Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Tue, 7 Jan 2014 12:27:55 +0100 Subject: [PATCH 01/24] Changed Json encoder to use lowercase --- ...TeamcityJsonEncoderDecoderConfiguration.cs | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs b/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs index 4a40a74f..5852ec49 100644 --- a/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs +++ b/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs @@ -1,9 +1,13 @@ using System.Collections.Generic; +using System.IO; using EasyHttp.Codecs; using EasyHttp.Codecs.JsonFXExtensions; using EasyHttp.Configuration; +using JsonFx.IO; using JsonFx.Json; +using JsonFx.Model; using JsonFx.Serialization; +using JsonFx.Serialization.Filters; namespace TeamCitySharp.Connection { @@ -11,7 +15,7 @@ public class TeamcityJsonEncoderDecoderConfiguration : IEncoderDecoderConfigurat { public IEncoder GetEncoder() { - var jsonWriter = new JsonWriter(new DataWriterSettings(DefaultEncoderDecoderConfiguration.CombinedResolverStrategy() + var jsonWriter = new LowerCaseJsonWriter(new DataWriterSettings(DefaultEncoderDecoderConfiguration.CombinedResolverStrategy() , new TeamCityDateFilter()), new[] { "application/.*json", "text/.*json" }); var writers = new List { jsonWriter }; @@ -29,4 +33,26 @@ public IDecoder GetDecoder() return new DefaultDecoder(dataReaderProvider); } } + + public class LowerCaseJsonWriter : JsonWriter + { + public LowerCaseJsonWriter(DataWriterSettings settings, params string[] contentTypes):base(settings, contentTypes) + {} + + protected override ITextFormatter GetFormatter() + { + return new LowerCaseJsonFormatter(this.Settings); + } + } + + public class LowerCaseJsonFormatter : JsonWriter.JsonFormatter + { + public LowerCaseJsonFormatter(DataWriterSettings settings) : base(settings) + {} + + protected override void WritePropertyName(TextWriter writer, string propertyName) + { + base.WritePropertyName(writer, propertyName.ToLower()); + } + } } \ No newline at end of file From cebb92553ca6b93c456edefe539caf3b3b3adb06 Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Tue, 7 Jan 2014 12:29:28 +0100 Subject: [PATCH 02/24] Changed Post method to accept object as data, to utilize jsonEncoder --- src/TeamCitySharp/Connection/ITeamCityCaller.cs | 2 +- src/TeamCitySharp/Connection/TeamCityCaller.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/TeamCitySharp/Connection/ITeamCityCaller.cs b/src/TeamCitySharp/Connection/ITeamCityCaller.cs index aee4df5c..ec6a95f8 100644 --- a/src/TeamCitySharp/Connection/ITeamCityCaller.cs +++ b/src/TeamCitySharp/Connection/ITeamCityCaller.cs @@ -27,7 +27,7 @@ internal interface ITeamCityCaller void Get(string urlPart); - T Post(string data, string contenttype, string urlPart, string accept); + T Post(object data, string contenttype, string urlPart, string accept); bool Authenticate(string urlPart); diff --git a/src/TeamCitySharp/Connection/TeamCityCaller.cs b/src/TeamCitySharp/Connection/TeamCityCaller.cs index 35879822..60da3dda 100644 --- a/src/TeamCitySharp/Connection/TeamCityCaller.cs +++ b/src/TeamCitySharp/Connection/TeamCityCaller.cs @@ -143,7 +143,7 @@ private HttpResponse GetResponse(string urlPart) return response; } - public T Post(string data, string contenttype, string urlPart, string accept) + public T Post(object data, string contenttype, string urlPart, string accept) { return Post(data, contenttype, urlPart, accept).StaticBody(); } From 1984470a68c9f4819d6aea4e4980d7de077b19c4 Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Tue, 7 Jan 2014 12:31:59 +0100 Subject: [PATCH 03/24] Changed Projects.Create method to use Json and NewProjectDescription --- src/TeamCitySharp/ActionTypes/Projects.cs | 3 ++- .../DomainEntities/NewProjectDescription.cs | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/TeamCitySharp/DomainEntities/NewProjectDescription.cs diff --git a/src/TeamCitySharp/ActionTypes/Projects.cs b/src/TeamCitySharp/ActionTypes/Projects.cs index 16f87758..680921be 100644 --- a/src/TeamCitySharp/ActionTypes/Projects.cs +++ b/src/TeamCitySharp/ActionTypes/Projects.cs @@ -42,7 +42,8 @@ public Project Details(Project project) public Project Create(string projectName) { - return _caller.Post(projectName, HttpContentTypes.ApplicationXml, "/app/rest/projects/", string.Empty); + var project = new NewProjectDescription {Name = projectName, Id = projectName}; + return _caller.Post(project, HttpContentTypes.ApplicationJson, "/app/rest/projects/", HttpContentTypes.ApplicationJson); } public void Delete(string projectName) diff --git a/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs b/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs new file mode 100644 index 00000000..af1d2912 --- /dev/null +++ b/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using JsonFx.Json; + +namespace TeamCitySharp.DomainEntities +{ + public class NewProjectDescription + { + public string Name { get; set; } + public string Id { get; set; } + } +} From 4eb1f0631c2d295b5dbfd59e13a4bdb68cc6d11f Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Tue, 7 Jan 2014 12:42:01 +0100 Subject: [PATCH 04/24] Added NewProjectDescription and added Project.Create with parent project --- src/TeamCitySharp/ActionTypes/Projects.cs | 14 ++++++- .../DomainEntities/NewProjectDescription.cs | 2 + src/TeamCitySharp/Locators/ProjectLocator.cs | 38 +++++++++++++++++++ src/TeamCitySharp/TeamCitySharp.csproj | 2 + 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 src/TeamCitySharp/Locators/ProjectLocator.cs diff --git a/src/TeamCitySharp/ActionTypes/Projects.cs b/src/TeamCitySharp/ActionTypes/Projects.cs index 680921be..ee9de055 100644 --- a/src/TeamCitySharp/ActionTypes/Projects.cs +++ b/src/TeamCitySharp/ActionTypes/Projects.cs @@ -2,6 +2,7 @@ using EasyHttp.Http; using TeamCitySharp.Connection; using TeamCitySharp.DomainEntities; +using TeamCitySharp.Locators; namespace TeamCitySharp.ActionTypes { @@ -42,7 +43,18 @@ public Project Details(Project project) public Project Create(string projectName) { - var project = new NewProjectDescription {Name = projectName, Id = projectName}; + return Create(projectName, "_Root"); + } + + public Project Create(string projectName, string rootProjectId) + { + var project = new NewProjectDescription + { + Name = projectName, + Id = projectName, + ParentProjectLocator = ProjectLocator.WithId(rootProjectId) + }; + return _caller.Post(project, HttpContentTypes.ApplicationJson, "/app/rest/projects/", HttpContentTypes.ApplicationJson); } diff --git a/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs b/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs index af1d2912..0e67aa81 100644 --- a/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs +++ b/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Text; using JsonFx.Json; +using TeamCitySharp.Locators; namespace TeamCitySharp.DomainEntities { @@ -10,5 +11,6 @@ public class NewProjectDescription { public string Name { get; set; } public string Id { get; set; } + public ProjectLocator ParentProjectLocator { get; set; } } } diff --git a/src/TeamCitySharp/Locators/ProjectLocator.cs b/src/TeamCitySharp/Locators/ProjectLocator.cs new file mode 100644 index 00000000..5291db9c --- /dev/null +++ b/src/TeamCitySharp/Locators/ProjectLocator.cs @@ -0,0 +1,38 @@ +using System.Collections.Generic; + +namespace TeamCitySharp.Locators +{ + public class ProjectLocator + { + public static ProjectLocator WithId(string id) + { + return new ProjectLocator {Id = id}; + } + + public static ProjectLocator WithName(string name) + { + return new ProjectLocator {Name = name}; + } + + public string Id { get; set; } + public string Name { get; set; } + + public override string ToString() + { + if (!string.IsNullOrEmpty(Id)) + { + return "id:" + Id; + } + + if (!string.IsNullOrEmpty(Name)) + { + return "name:" + Name; + } + + + var locatorFields = new List(); + + return string.Join(",", locatorFields.ToArray()); + } + } +} diff --git a/src/TeamCitySharp/TeamCitySharp.csproj b/src/TeamCitySharp/TeamCitySharp.csproj index 2e7df5aa..d91c468b 100644 --- a/src/TeamCitySharp/TeamCitySharp.csproj +++ b/src/TeamCitySharp/TeamCitySharp.csproj @@ -67,6 +67,8 @@ + + From 787670da8ba41e37bd1135852044c52016ecd057 Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Tue, 7 Jan 2014 13:08:14 +0100 Subject: [PATCH 05/24] Changed ParentProjectWrapper to produce correct Json data --- src/TeamCitySharp/ActionTypes/Projects.cs | 2 +- .../DomainEntities/NewProjectDescription.cs | 2 +- .../DomainEntities/ParentProjectWrapper.cs | 20 +++++++++++++++++++ src/TeamCitySharp/TeamCitySharp.csproj | 1 + 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 src/TeamCitySharp/DomainEntities/ParentProjectWrapper.cs diff --git a/src/TeamCitySharp/ActionTypes/Projects.cs b/src/TeamCitySharp/ActionTypes/Projects.cs index ee9de055..5561f10c 100644 --- a/src/TeamCitySharp/ActionTypes/Projects.cs +++ b/src/TeamCitySharp/ActionTypes/Projects.cs @@ -52,7 +52,7 @@ public Project Create(string projectName, string rootProjectId) { Name = projectName, Id = projectName, - ParentProjectLocator = ProjectLocator.WithId(rootProjectId) + ParentProject = new ParentProjectWrapper(ProjectLocator.WithId(rootProjectId)) }; return _caller.Post(project, HttpContentTypes.ApplicationJson, "/app/rest/projects/", HttpContentTypes.ApplicationJson); diff --git a/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs b/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs index 0e67aa81..42ccf97d 100644 --- a/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs +++ b/src/TeamCitySharp/DomainEntities/NewProjectDescription.cs @@ -11,6 +11,6 @@ public class NewProjectDescription { public string Name { get; set; } public string Id { get; set; } - public ProjectLocator ParentProjectLocator { get; set; } + public ParentProjectWrapper ParentProject { get; set; } } } diff --git a/src/TeamCitySharp/DomainEntities/ParentProjectWrapper.cs b/src/TeamCitySharp/DomainEntities/ParentProjectWrapper.cs new file mode 100644 index 00000000..2bec04da --- /dev/null +++ b/src/TeamCitySharp/DomainEntities/ParentProjectWrapper.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using TeamCitySharp.Locators; + +namespace TeamCitySharp.DomainEntities +{ + public class ParentProjectWrapper + { + private readonly ProjectLocator _locator; + + public ParentProjectWrapper(ProjectLocator locator) + { + _locator = locator; + } + + public string Locator { get { return _locator.ToString(); } } + } +} diff --git a/src/TeamCitySharp/TeamCitySharp.csproj b/src/TeamCitySharp/TeamCitySharp.csproj index d91c468b..6188b235 100644 --- a/src/TeamCitySharp/TeamCitySharp.csproj +++ b/src/TeamCitySharp/TeamCitySharp.csproj @@ -68,6 +68,7 @@ + From a64c02b81e879bd69bb9dc3930daa1b0d70ad0b4 Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Tue, 7 Jan 2014 13:15:34 +0100 Subject: [PATCH 06/24] Changed lowercase serialization to camelcase --- ...TeamcityJsonEncoderDecoderConfiguration.cs | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs b/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs index 5852ec49..339d06e7 100644 --- a/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs +++ b/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs @@ -15,7 +15,7 @@ public class TeamcityJsonEncoderDecoderConfiguration : IEncoderDecoderConfigurat { public IEncoder GetEncoder() { - var jsonWriter = new LowerCaseJsonWriter(new DataWriterSettings(DefaultEncoderDecoderConfiguration.CombinedResolverStrategy() + var jsonWriter = new CamelCaseJsonWriter(new DataWriterSettings(DefaultEncoderDecoderConfiguration.CombinedResolverStrategy() , new TeamCityDateFilter()), new[] { "application/.*json", "text/.*json" }); var writers = new List { jsonWriter }; @@ -34,25 +34,38 @@ public IDecoder GetDecoder() } } - public class LowerCaseJsonWriter : JsonWriter + public class CamelCaseJsonWriter : JsonWriter { - public LowerCaseJsonWriter(DataWriterSettings settings, params string[] contentTypes):base(settings, contentTypes) + public CamelCaseJsonWriter(DataWriterSettings settings, params string[] contentTypes) + : base(settings, contentTypes) {} protected override ITextFormatter GetFormatter() { - return new LowerCaseJsonFormatter(this.Settings); + return new CamelCaseJsonFormatter(this.Settings); } } - public class LowerCaseJsonFormatter : JsonWriter.JsonFormatter + public class CamelCaseJsonFormatter : JsonWriter.JsonFormatter { - public LowerCaseJsonFormatter(DataWriterSettings settings) : base(settings) + public CamelCaseJsonFormatter(DataWriterSettings settings) + : base(settings) {} protected override void WritePropertyName(TextWriter writer, string propertyName) { - base.WritePropertyName(writer, propertyName.ToLower()); + base.WritePropertyName(writer, CamelCase(propertyName)); + } + + private static string CamelCase(string input) + { + if (string.IsNullOrEmpty(input)) + return input; + + var chars = input.ToCharArray(); + chars[0] = chars[0].ToString().ToLower().ToCharArray()[0]; + + return new string(chars); } } } \ No newline at end of file From a1b41a2527cc4b4136d8f7b91a84841f152e4677 Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Tue, 7 Jan 2014 13:30:27 +0100 Subject: [PATCH 07/24] Added GenerateId from mavezeau's pull request #60 --- src/TeamCitySharp/ActionTypes/Projects.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/TeamCitySharp/ActionTypes/Projects.cs b/src/TeamCitySharp/ActionTypes/Projects.cs index 5561f10c..69bc82fb 100644 --- a/src/TeamCitySharp/ActionTypes/Projects.cs +++ b/src/TeamCitySharp/ActionTypes/Projects.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Text.RegularExpressions; using EasyHttp.Http; using TeamCitySharp.Connection; using TeamCitySharp.DomainEntities; @@ -51,11 +52,12 @@ public Project Create(string projectName, string rootProjectId) var project = new NewProjectDescription { Name = projectName, - Id = projectName, + Id = GenerateId(projectName), ParentProject = new ParentProjectWrapper(ProjectLocator.WithId(rootProjectId)) }; - return _caller.Post(project, HttpContentTypes.ApplicationJson, "/app/rest/projects/", HttpContentTypes.ApplicationJson); + return _caller.Post(project, HttpContentTypes.ApplicationJson, "/app/rest/projects/", + HttpContentTypes.ApplicationJson); } public void Delete(string projectName) @@ -72,5 +74,11 @@ public void SetProjectParameter(string projectName, string settingName, string s { _caller.PutFormat(settingValue, "/app/rest/projects/name:{0}/parameters/{1}", projectName, settingName); } + + public string GenerateId(string projectName) + { + projectName = Regex.Replace(projectName, @"[^\p{L}\p{N}]+", ""); + return projectName; + } } } \ No newline at end of file From 2b61a16d79b45120cd1fb2554eed41ea47e75f0e Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Fri, 10 Jan 2014 15:37:54 +0100 Subject: [PATCH 08/24] Added options to include/not include disconnected and unauthorized agents --- packages/repositories.config | 1 + src/TeamCitySharp/ActionTypes/Agents.cs | 20 ++++++++++++++++++-- src/TeamCitySharp/ActionTypes/IAgents.cs | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/packages/repositories.config b/packages/repositories.config index bcd17bb0..3468aa5e 100644 --- a/packages/repositories.config +++ b/packages/repositories.config @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/src/TeamCitySharp/ActionTypes/Agents.cs b/src/TeamCitySharp/ActionTypes/Agents.cs index 56944acc..6b9837ee 100644 --- a/src/TeamCitySharp/ActionTypes/Agents.cs +++ b/src/TeamCitySharp/ActionTypes/Agents.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.IO; using TeamCitySharp.Connection; using TeamCitySharp.DomainEntities; @@ -13,11 +14,26 @@ internal Agents(TeamCityCaller caller) _caller = caller; } - public List All() + public List All(bool includeDisconnected = true, bool includeUnauthorized = true) { - var agentWrapper = _caller.Get("/app/rest/agents"); + var url = string.Format("/app/rest/agents?includeDisconnected={0}&includeUnauthorized={1}", + includeDisconnected.ToString().ToLower(), includeUnauthorized.ToString().ToLower()); + + var agentWrapper = _caller.Get(url); return agentWrapper.Agent; } + + private string AddqueryString(string url, string queryString) + { + if (url.Contains("?")) + url += "&"; + else + url += "?"; + + url += queryString; + + return url; + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/ActionTypes/IAgents.cs b/src/TeamCitySharp/ActionTypes/IAgents.cs index 36b5ade5..1292b1a3 100644 --- a/src/TeamCitySharp/ActionTypes/IAgents.cs +++ b/src/TeamCitySharp/ActionTypes/IAgents.cs @@ -5,6 +5,6 @@ namespace TeamCitySharp.ActionTypes { public interface IAgents { - List All(); + List All(bool includeDisconnected = false, bool includeUnauthorized = false); } } \ No newline at end of file From 2ccd8daa1008b06e1f59318cfdca547aae5209b8 Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Fri, 10 Jan 2014 15:38:31 +0100 Subject: [PATCH 09/24] Added Build.ById method --- src/TeamCitySharp/ActionTypes/Builds.cs | 7 +++++++ src/TeamCitySharp/ActionTypes/IBuilds.cs | 1 + src/Tests/IntegrationTests/SampleBuildsUsage.cs | 14 ++++++++++++++ 3 files changed, 22 insertions(+) diff --git a/src/TeamCitySharp/ActionTypes/Builds.cs b/src/TeamCitySharp/ActionTypes/Builds.cs index 4c52f340..ca4bbe9e 100644 --- a/src/TeamCitySharp/ActionTypes/Builds.cs +++ b/src/TeamCitySharp/ActionTypes/Builds.cs @@ -95,6 +95,13 @@ public Build LastErrorBuildByBuildConfigId(string buildConfigId) return builds != null ? builds.FirstOrDefault() : new Build(); } + public Build ById(string id) + { + var build = _caller.GetFormat("/app/rest/builds/id:{0}", id); + + return build ?? new Build(); + } + public List ByBuildConfigId(string buildConfigId) { return ByBuildLocator(BuildLocator.WithDimensions(BuildTypeLocator.WithId(buildConfigId) diff --git a/src/TeamCitySharp/ActionTypes/IBuilds.cs b/src/TeamCitySharp/ActionTypes/IBuilds.cs index 6afba988..2c57fa2a 100644 --- a/src/TeamCitySharp/ActionTypes/IBuilds.cs +++ b/src/TeamCitySharp/ActionTypes/IBuilds.cs @@ -14,6 +14,7 @@ public interface IBuilds Build LastBuildByBuildConfigId(string buildConfigId); List ErrorBuildsByBuildConfigId(string buildConfigId); Build LastErrorBuildByBuildConfigId(string buildConfigId); + Build ById(string id); List ByBuildConfigId(string buildConfigId); List ByConfigIdAndTag(string buildConfigId, string tag); List ByUserName(string userName); diff --git a/src/Tests/IntegrationTests/SampleBuildsUsage.cs b/src/Tests/IntegrationTests/SampleBuildsUsage.cs index 152cad5f..daa77e2e 100644 --- a/src/Tests/IntegrationTests/SampleBuildsUsage.cs +++ b/src/Tests/IntegrationTests/SampleBuildsUsage.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using System.Net; +using System.Runtime.CompilerServices; using NUnit.Framework; using TeamCitySharp.Locators; @@ -190,5 +191,18 @@ public void it_does_not_populate_the_status_text_field_of_the_build_object() Assert.That(build.Count == 1); Assert.IsNull(build[0].StatusText); } + + [Test] + public void ig_returns_correct_build_when_calling_by_id() + { + const string buildId = "5726"; + var client = new TeamCityClient("localhost:81"); + client.Connect("admin", "qwerty"); + + var build = client.Builds.ById(buildId); + + Assert.That(build != null); + Assert.That(build.Id == buildId); + } } } From df6796f12ded8f73b1c80873d8b006d42763d265 Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Mon, 3 Feb 2014 08:46:42 +0100 Subject: [PATCH 10/24] Changed post and put to use data object instead of data.ToString --- src/TeamCitySharp/Connection/TeamCityCaller.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/TeamCitySharp/Connection/TeamCityCaller.cs b/src/TeamCitySharp/Connection/TeamCityCaller.cs index 60da3dda..dd126fc0 100644 --- a/src/TeamCitySharp/Connection/TeamCityCaller.cs +++ b/src/TeamCitySharp/Connection/TeamCityCaller.cs @@ -42,17 +42,17 @@ public void GetFormat(string urlPart, params object[] parts) public T PostFormat(object data, string contenttype, string accept, string urlPart, params object[] parts) { - return Post(data.ToString(), contenttype, string.Format(urlPart, parts), accept); + return Post(data, contenttype, string.Format(urlPart, parts), accept); } public void PostFormat(object data, string contenttype, string urlPart, params object[] parts) { - Post(data.ToString(), contenttype, string.Format(urlPart, parts), string.Empty); + Post(data, contenttype, string.Format(urlPart, parts), string.Empty); } public void PutFormat(object data, string contenttype, string urlPart, params object[] parts) { - Put(data.ToString(), contenttype, string.Format(urlPart, parts), string.Empty); + Put(data, contenttype, string.Format(urlPart, parts), string.Empty); } public void DeleteFormat(string urlPart, params object[] parts) From bdbc64a4e31088c9d27dbc506b10995d8875c314 Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Tue, 25 Feb 2014 15:09:40 +0100 Subject: [PATCH 11/24] Added direct support for setting artifact dependencies, snapshot dependencies and build triggers --- src/TeamCitySharp/ActionTypes/BuildConfigs.cs | 18 +++++++++++ .../DomainEntities/ArtifactDependency.cs | 29 +++++++++++++++-- .../DomainEntities/BuildTrigger.cs | 18 +++++++++++ .../DomainEntities/Properties.cs | 10 ++++++ src/TeamCitySharp/DomainEntities/Property.cs | 9 ++++++ .../DomainEntities/SnapshotDependency.cs | 31 +++++++++++++++++-- .../DomainEntities/Source_BuildType.cs | 7 +++++ src/TeamCitySharp/TeamCitySharp.csproj | 1 + 8 files changed, 119 insertions(+), 4 deletions(-) create mode 100644 src/TeamCitySharp/DomainEntities/Source_BuildType.cs diff --git a/src/TeamCitySharp/ActionTypes/BuildConfigs.cs b/src/TeamCitySharp/ActionTypes/BuildConfigs.cs index cdcd4a0f..b01b6271 100644 --- a/src/TeamCitySharp/ActionTypes/BuildConfigs.cs +++ b/src/TeamCitySharp/ActionTypes/BuildConfigs.cs @@ -114,6 +114,24 @@ public void PostRawBuildTrigger(BuildTypeLocator locator, string rawXml) _caller.PostFormat(rawXml, HttpContentTypes.ApplicationXml, "/app/rest/buildTypes/{0}/triggers", locator); } + public void SetArtifactDependency(BuildTypeLocator locator, ArtifactDependency dependency) + { + _caller.PostFormat(dependency, HttpContentTypes.ApplicationJson, + HttpContentTypes.ApplicationJson, "/app/rest/buildTypes/{0}/artifact-dependencies", locator); + } + + public void SetSnapshotDependency(BuildTypeLocator locator, SnapshotDependency dependency) + { + _caller.PostFormat(dependency, HttpContentTypes.ApplicationJson, + HttpContentTypes.ApplicationJson, "/app/rest/buildTypes/{0}/snapshot-dependencies", locator); + } + + public void SetTrigger(BuildTypeLocator locator, BuildTrigger trigger) + { + _caller.PostFormat(trigger, HttpContentTypes.ApplicationJson, HttpContentTypes.ApplicationJson, + "/app/rest/buildTypes/{0}/triggers", locator); + } + public void SetConfigurationParameter(BuildTypeLocator locator, string key, string value) { _caller.PutFormat(value, HttpContentTypes.TextPlain, "/app/rest/buildTypes/{0}/parameters/{1}", locator, key); diff --git a/src/TeamCitySharp/DomainEntities/ArtifactDependency.cs b/src/TeamCitySharp/DomainEntities/ArtifactDependency.cs index 487b9565..6e40a557 100644 --- a/src/TeamCitySharp/DomainEntities/ArtifactDependency.cs +++ b/src/TeamCitySharp/DomainEntities/ArtifactDependency.cs @@ -2,13 +2,38 @@ namespace TeamCitySharp.DomainEntities { public class ArtifactDependency { + public ArtifactDependency() + { + Properties = new Properties(); + } public override string ToString() { - return "artifact_dependency"; + return Type; } public string Id { get; set; } - public string Type { get; set; } public Properties Properties { get; set; } + public Source_BuildType Source_BuildType { get; set; } + public string Type + { + get { return "artifact_dependency"; } + } + + public static ArtifactDependency Default(string dependsOnbuildId) + { + var dependency = new ArtifactDependency(); + + dependency.Properties.Add("cleanDestinationDirectory", "true"); + dependency.Properties.Add("pathRules", "* => Temp"); + dependency.Properties.Add("revisionName", "sameChainOrLastFinished"); + dependency.Properties.Add("revisionValue", "latest.sameChainOrLastFinished"); + + dependency.Source_BuildType = new Source_BuildType + { + Id = dependsOnbuildId + }; + + return dependency; + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/DomainEntities/BuildTrigger.cs b/src/TeamCitySharp/DomainEntities/BuildTrigger.cs index f6f9ec78..96a954ac 100644 --- a/src/TeamCitySharp/DomainEntities/BuildTrigger.cs +++ b/src/TeamCitySharp/DomainEntities/BuildTrigger.cs @@ -2,6 +2,11 @@ namespace TeamCitySharp.DomainEntities { public class BuildTrigger { + public BuildTrigger() + { + Properties = new Properties(); + } + public override string ToString() { return "trigger"; @@ -10,5 +15,18 @@ public override string ToString() public string Id { get; set; } public string Type { get; set; } public Properties Properties { get; set; } + + public static BuildTrigger FinishBuildTrigger(string dependsOnbuildId) + { + var trigger = new BuildTrigger + { + Type = "buildDependencyTrigger" + }; + + trigger.Properties.Add("afterSuccessfulBuildOnly", "true"); + trigger.Properties.Add("dependsOn", dependsOnbuildId); + + return trigger; + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/DomainEntities/Properties.cs b/src/TeamCitySharp/DomainEntities/Properties.cs index bb13d698..dc796224 100644 --- a/src/TeamCitySharp/DomainEntities/Properties.cs +++ b/src/TeamCitySharp/DomainEntities/Properties.cs @@ -4,6 +4,16 @@ namespace TeamCitySharp.DomainEntities { public class Properties { + public Properties() + { + Property = new List(); + } + + public void Add(string name, string value) + { + Property.Add(new Property(name, value)); + } + public override string ToString() { return "properties"; diff --git a/src/TeamCitySharp/DomainEntities/Property.cs b/src/TeamCitySharp/DomainEntities/Property.cs index 70f3cb25..d2dadab0 100644 --- a/src/TeamCitySharp/DomainEntities/Property.cs +++ b/src/TeamCitySharp/DomainEntities/Property.cs @@ -2,6 +2,15 @@ namespace TeamCitySharp.DomainEntities { public class Property { + public Property() + {} + + public Property(string name, string value) + { + Name = name; + Value = value; + } + public override string ToString() { return Name; diff --git a/src/TeamCitySharp/DomainEntities/SnapshotDependency.cs b/src/TeamCitySharp/DomainEntities/SnapshotDependency.cs index 6f0cfe50..e2ab0120 100644 --- a/src/TeamCitySharp/DomainEntities/SnapshotDependency.cs +++ b/src/TeamCitySharp/DomainEntities/SnapshotDependency.cs @@ -2,12 +2,39 @@ namespace TeamCitySharp.DomainEntities { public class SnapshotDependency { + public SnapshotDependency() + { + Properties = new Properties(); + } + public override string ToString() { - return "snapshot_dependency"; + return Type; } public string Id { get; set; } - public Properties Properties { get; set; } + public Properties Properties { get; set; } + public Source_BuildType Source_BuildType { get; set; } + public string Type + { + get { return "snapshot_dependency"; } + } + + public static SnapshotDependency Default(string dependsOnbuildId) + { + var dependency = new SnapshotDependency(); + + dependency.Properties.Add("run-build-if-dependency-failed", "false"); + dependency.Properties.Add("run-build-on-the-same-agent", "false"); + dependency.Properties.Add("take-started-build-with-same-revisions", "true"); + dependency.Properties.Add("take-successful-builds-only", "true"); + + dependency.Source_BuildType = new Source_BuildType + { + Id = dependsOnbuildId + }; + + return dependency; + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/DomainEntities/Source_BuildType.cs b/src/TeamCitySharp/DomainEntities/Source_BuildType.cs new file mode 100644 index 00000000..49242e98 --- /dev/null +++ b/src/TeamCitySharp/DomainEntities/Source_BuildType.cs @@ -0,0 +1,7 @@ +namespace TeamCitySharp.DomainEntities +{ + public class Source_BuildType + { + public string Id { get; set; } + } +} diff --git a/src/TeamCitySharp/TeamCitySharp.csproj b/src/TeamCitySharp/TeamCitySharp.csproj index 6188b235..68eef5f5 100644 --- a/src/TeamCitySharp/TeamCitySharp.csproj +++ b/src/TeamCitySharp/TeamCitySharp.csproj @@ -69,6 +69,7 @@ + From a46360ccec6f0815d54154082ac923cd29444c7f Mon Sep 17 00:00:00 2001 From: Nicolai Heilbuth Date: Tue, 25 Feb 2014 15:56:13 +0100 Subject: [PATCH 12/24] Adjustments to json output of artifactdependencies, snapshotdependencies and buildtriggers --- src/TeamCitySharp/ActionTypes/IBuildConfigs.cs | 7 +++++++ .../DomainEntities/ArtifactDependency.cs | 15 ++++++++------- .../DomainEntities/SnapshotDependency.cs | 13 +++++++------ .../{Source_BuildType.cs => SourceBuildType.cs} | 2 +- src/TeamCitySharp/TeamCitySharp.csproj | 2 +- 5 files changed, 24 insertions(+), 15 deletions(-) rename src/TeamCitySharp/DomainEntities/{Source_BuildType.cs => SourceBuildType.cs} (74%) diff --git a/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs b/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs index 2829ec2d..ef90817d 100644 --- a/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs +++ b/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs @@ -22,9 +22,15 @@ public interface IBuildConfigs void SetConfigurationSetting(BuildTypeLocator locator, string settingName, string settingValue); bool GetConfigurationPauseStatus(BuildTypeLocator locator); void SetConfigurationPauseStatus(BuildTypeLocator locator, bool isPaused); + void PostRawArtifactDependency(BuildTypeLocator locator, string rawXml); + void SetArtifactDependency(BuildTypeLocator locator, ArtifactDependency dependency); + void PostRawBuildStep(BuildTypeLocator locator, string rawXml); + void PostRawBuildTrigger(BuildTypeLocator locator, string rawXml); + void SetTrigger(BuildTypeLocator locator, BuildTrigger trigger); + void SetConfigurationParameter(BuildTypeLocator locator, string key, string value); void PostRawAgentRequirement(BuildTypeLocator locator, string rawXml); void DeleteBuildStep(BuildTypeLocator locator, string buildStepId); @@ -62,6 +68,7 @@ public interface IBuildConfigs /// ]]> /// void PostRawSnapshotDependency(BuildTypeLocator locator, XmlElement rawXml); + void SetSnapshotDependency(BuildTypeLocator locator, SnapshotDependency dependency); /// /// Locates a build type by its locator. diff --git a/src/TeamCitySharp/DomainEntities/ArtifactDependency.cs b/src/TeamCitySharp/DomainEntities/ArtifactDependency.cs index 6e40a557..4278a7c8 100644 --- a/src/TeamCitySharp/DomainEntities/ArtifactDependency.cs +++ b/src/TeamCitySharp/DomainEntities/ArtifactDependency.cs @@ -1,3 +1,5 @@ +using JsonFx.Json; + namespace TeamCitySharp.DomainEntities { public class ArtifactDependency @@ -5,6 +7,7 @@ public class ArtifactDependency public ArtifactDependency() { Properties = new Properties(); + Type = "artifact_dependency"; } public override string ToString() { @@ -13,12 +16,10 @@ public override string ToString() public string Id { get; set; } public Properties Properties { get; set; } - public Source_BuildType Source_BuildType { get; set; } - public string Type - { - get { return "artifact_dependency"; } - } - + [JsonName("source-buildType")] + public SourceBuildType SourceBuildType { get; set; } + public string Type { get; set; } + public static ArtifactDependency Default(string dependsOnbuildId) { var dependency = new ArtifactDependency(); @@ -28,7 +29,7 @@ public static ArtifactDependency Default(string dependsOnbuildId) dependency.Properties.Add("revisionName", "sameChainOrLastFinished"); dependency.Properties.Add("revisionValue", "latest.sameChainOrLastFinished"); - dependency.Source_BuildType = new Source_BuildType + dependency.SourceBuildType = new SourceBuildType { Id = dependsOnbuildId }; diff --git a/src/TeamCitySharp/DomainEntities/SnapshotDependency.cs b/src/TeamCitySharp/DomainEntities/SnapshotDependency.cs index e2ab0120..2cfeb3df 100644 --- a/src/TeamCitySharp/DomainEntities/SnapshotDependency.cs +++ b/src/TeamCitySharp/DomainEntities/SnapshotDependency.cs @@ -1,3 +1,5 @@ +using JsonFx.Json; + namespace TeamCitySharp.DomainEntities { public class SnapshotDependency @@ -5,6 +7,7 @@ public class SnapshotDependency public SnapshotDependency() { Properties = new Properties(); + Type = "snapshot_dependency"; } public override string ToString() @@ -14,11 +17,9 @@ public override string ToString() public string Id { get; set; } public Properties Properties { get; set; } - public Source_BuildType Source_BuildType { get; set; } - public string Type - { - get { return "snapshot_dependency"; } - } + [JsonName("source-buildType")] + public SourceBuildType SourceBuildType { get; set; } + public string Type { get; set; } public static SnapshotDependency Default(string dependsOnbuildId) { @@ -29,7 +30,7 @@ public static SnapshotDependency Default(string dependsOnbuildId) dependency.Properties.Add("take-started-build-with-same-revisions", "true"); dependency.Properties.Add("take-successful-builds-only", "true"); - dependency.Source_BuildType = new Source_BuildType + dependency.SourceBuildType = new SourceBuildType { Id = dependsOnbuildId }; diff --git a/src/TeamCitySharp/DomainEntities/Source_BuildType.cs b/src/TeamCitySharp/DomainEntities/SourceBuildType.cs similarity index 74% rename from src/TeamCitySharp/DomainEntities/Source_BuildType.cs rename to src/TeamCitySharp/DomainEntities/SourceBuildType.cs index 49242e98..e5c1f89f 100644 --- a/src/TeamCitySharp/DomainEntities/Source_BuildType.cs +++ b/src/TeamCitySharp/DomainEntities/SourceBuildType.cs @@ -1,6 +1,6 @@ namespace TeamCitySharp.DomainEntities { - public class Source_BuildType + public class SourceBuildType { public string Id { get; set; } } diff --git a/src/TeamCitySharp/TeamCitySharp.csproj b/src/TeamCitySharp/TeamCitySharp.csproj index 68eef5f5..55d3469d 100644 --- a/src/TeamCitySharp/TeamCitySharp.csproj +++ b/src/TeamCitySharp/TeamCitySharp.csproj @@ -69,7 +69,7 @@ - + From cb472de35e6f2ea3c19289e4991f25e26722d9e7 Mon Sep 17 00:00:00 2001 From: James Abbott Date: Mon, 14 Jul 2014 15:17:56 +0100 Subject: [PATCH 13/24] Added branch name to Build entity for VCS configurations where git is used. (See http://confluence.jetbrains.com/display/TCD8/REST+API#RESTAPI-Buildfields ) --- src/TeamCitySharp/DomainEntities/Build.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/TeamCitySharp/DomainEntities/Build.cs b/src/TeamCitySharp/DomainEntities/Build.cs index 7d16fc34..549659ed 100644 --- a/src/TeamCitySharp/DomainEntities/Build.cs +++ b/src/TeamCitySharp/DomainEntities/Build.cs @@ -1,5 +1,5 @@ -using System; - +using System; + namespace TeamCitySharp.DomainEntities { public class Build @@ -11,8 +11,9 @@ public class Build public string Href { get; set; } public string WebUrl { get; set; } public string StatusText { get; set; } - public DateTime StartDate { get; set; } - public DateTime FinishDate { get; set; } + public string BranchName { get; set; } + public DateTime StartDate { get; set; } + public DateTime FinishDate { get; set; } public BuildConfig BuildConfig { get; set; } public Agent Agent { get; set;} From 25b57756df686a65ff88e6e3d571c0f4965c995f Mon Sep 17 00:00:00 2001 From: Derek Gates Date: Tue, 12 Aug 2014 16:39:58 -0500 Subject: [PATCH 14/24] Add system.web reference to fix compilation. --- packages/repositories.config | 1 + src/TeamCitySharp/TeamCitySharp.csproj | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/repositories.config b/packages/repositories.config index bcd17bb0..3468aa5e 100644 --- a/packages/repositories.config +++ b/packages/repositories.config @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/src/TeamCitySharp/TeamCitySharp.csproj b/src/TeamCitySharp/TeamCitySharp.csproj index 2e7df5aa..1a71295e 100644 --- a/src/TeamCitySharp/TeamCitySharp.csproj +++ b/src/TeamCitySharp/TeamCitySharp.csproj @@ -42,6 +42,7 @@ + From 3de747aa7656c270d81a866477c0bebc6704ba5b Mon Sep 17 00:00:00 2001 From: Derek Gates Date: Tue, 12 Aug 2014 17:10:19 -0500 Subject: [PATCH 15/24] Adding ByBuildConfigIdSinceChangeId() - Allows to pull changes since a change id. Useful to obtain changes since the last successful. --- src/TeamCitySharp/ActionTypes/Changes.cs | 11 +++++++++-- src/TeamCitySharp/ActionTypes/IChanges.cs | 1 + src/Tests/IntegrationTests/SampleChangeUsage.cs | 8 ++++++++ .../TeamCitySharp.IntegrationTests.csproj | 3 +++ src/Tests/UnitTests/TeamCitySharp.UnitTests.csproj | 3 +++ 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/TeamCitySharp/ActionTypes/Changes.cs b/src/TeamCitySharp/ActionTypes/Changes.cs index 5218b4aa..3185c05c 100644 --- a/src/TeamCitySharp/ActionTypes/Changes.cs +++ b/src/TeamCitySharp/ActionTypes/Changes.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; using TeamCitySharp.Connection; using TeamCitySharp.DomainEntities; @@ -35,12 +36,18 @@ public List ByBuildConfigId(string buildConfigId) return changeWrapper.Change; } + public List ByBuildConfigIdSinceChangeId(string buildConfigId, string sinceChangeId) + { + var changeWrapper = _caller.GetFormat("/app/rest/changes?buildType={0}&sinceChange=id:{1}", buildConfigId, sinceChangeId); + + return changeWrapper.Change; + } + public Change LastChangeDetailByBuildConfigId(string buildConfigId) { var changes = ByBuildConfigId(buildConfigId); return changes.FirstOrDefault(); } - } } \ No newline at end of file diff --git a/src/TeamCitySharp/ActionTypes/IChanges.cs b/src/TeamCitySharp/ActionTypes/IChanges.cs index 1ae51cd5..54796afd 100644 --- a/src/TeamCitySharp/ActionTypes/IChanges.cs +++ b/src/TeamCitySharp/ActionTypes/IChanges.cs @@ -9,5 +9,6 @@ public interface IChanges Change ByChangeId(string id); Change LastChangeDetailByBuildConfigId(string buildConfigId); List ByBuildConfigId(string buildConfigId); + List ByBuildConfigIdSinceChangeId(string buildConfigId, string sinceChangeId); } } \ No newline at end of file diff --git a/src/Tests/IntegrationTests/SampleChangeUsage.cs b/src/Tests/IntegrationTests/SampleChangeUsage.cs index fa8eca06..60239790 100644 --- a/src/Tests/IntegrationTests/SampleChangeUsage.cs +++ b/src/Tests/IntegrationTests/SampleChangeUsage.cs @@ -74,5 +74,13 @@ public void it_returns_change_details_for_build_config(string buildConfigId) Assert.That(changeDetails != null, "Cannot find details of that specified change"); } + + [TestCase("bt113", "42843")] + public void it_returns_change_details_since_build_id(string buildConfigId, string changeId) + { + List changes = _client.Changes.ByBuildConfigIdSinceChangeId(buildConfigId, changeId); + + Assert.That(changes.Any(), "Cannot find any changes since the change id specified"); + } } } \ No newline at end of file diff --git a/src/Tests/IntegrationTests/TeamCitySharp.IntegrationTests.csproj b/src/Tests/IntegrationTests/TeamCitySharp.IntegrationTests.csproj index 95e8426c..4326f56f 100644 --- a/src/Tests/IntegrationTests/TeamCitySharp.IntegrationTests.csproj +++ b/src/Tests/IntegrationTests/TeamCitySharp.IntegrationTests.csproj @@ -78,6 +78,9 @@ TeamCitySharp + + + Ak?vN?;r(1B^%J(Y%Mr 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 Yy*IgQXeu|G4*sfvwrZIJno;Hd06@N~=Kufz diff --git a/packages/EasyHttp.1.6.1.0/lib/net40/EasyHttp.dll b/packages/EasyHttp.1.6.1.0/lib/net40/EasyHttp.dll deleted file mode 100644 index 109d6c89b4fdc5bc868b58edf25a66791028395f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40448 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 diff --git a/packages/EasyHttp.1.6.1.0/lib/sl40-wp/EasyHttp.dll b/packages/EasyHttp.1.6.1.0/lib/sl40-wp/EasyHttp.dll deleted file mode 100644 index 109d6c89b4fdc5bc868b58edf25a66791028395f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40448 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 diff --git a/packages/EasyHttp.1.6.1.0/lib/sl40/EasyHttp.dll b/packages/EasyHttp.1.6.1.0/lib/sl40/EasyHttp.dll deleted file mode 100644 index 109d6c89b4fdc5bc868b58edf25a66791028395f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40448 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 diff --git a/packages/EasyHttp.1.6.67.0/EasyHttp.1.6.67.0.nupkg b/packages/EasyHttp.1.6.67.0/EasyHttp.1.6.67.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..768ca8f5801c9fd68a5ffd8317428d688b1f6d94 GIT binary patch literal 49843 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 literal 0 HcmV?d00001 diff --git a/packages/EasyHttp.1.6.67.0/lib/net40/EasyHttp.pdb b/packages/EasyHttp.1.6.67.0/lib/net40/EasyHttp.pdb new file mode 100644 index 0000000000000000000000000000000000000000..c8c35e2bca0b51e09de33ae55e5c500232e09dfd GIT binary patch literal 89600 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 SQ35AQ;6w?WD1pC93H*Qfd+Rj- literal 0 HcmV?d00001 diff --git a/packages/repositories.config b/packages/repositories.config index bcd17bb0..e2cb9c26 100644 --- a/packages/repositories.config +++ b/packages/repositories.config @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs b/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs index 4a40a74f..7ed870f7 100644 --- a/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs +++ b/src/TeamCitySharp/Connection/TeamcityJsonEncoderDecoderConfiguration.cs @@ -19,8 +19,8 @@ public IEncoder GetEncoder() return new DefaultEncoder(dataWriterProvider); } - public IDecoder GetDecoder() - { + public IDecoder GetDecoder(bool shouldRemoveAtSign = true) + { var jsonReader = new JsonReader(new DataReaderSettings(DefaultEncoderDecoderConfiguration.CombinedResolverStrategy() , new TeamCityDateFilter()), new[] { "application/.*json", "text/.*json" }); diff --git a/src/TeamCitySharp/TeamCitySharp.csproj b/src/TeamCitySharp/TeamCitySharp.csproj index 2e7df5aa..3c5f6917 100644 --- a/src/TeamCitySharp/TeamCitySharp.csproj +++ b/src/TeamCitySharp/TeamCitySharp.csproj @@ -33,15 +33,15 @@ 4 - - False - ..\..\packages\EasyHttp.1.6.1.0\lib\net40\EasyHttp.dll + + ..\..\packages\EasyHttp.1.6.67.0\lib\net40\EasyHttp.dll ..\..\packages\JsonFx.2.0.1209.2802\lib\net40\JsonFx.dll + diff --git a/src/TeamCitySharp/packages.config b/src/TeamCitySharp/packages.config index eeb961a2..89f56e05 100644 --- a/src/TeamCitySharp/packages.config +++ b/src/TeamCitySharp/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file From c9ee608e771ea7123ed063b1711183b157f30ac0 Mon Sep 17 00:00:00 2001 From: Gordon-Beeming Date: Fri, 10 Oct 2014 19:55:52 +0200 Subject: [PATCH 21/24] fixed missing reference to System.Web --- src/TeamCitySharp/TeamCitySharp.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/TeamCitySharp/TeamCitySharp.csproj b/src/TeamCitySharp/TeamCitySharp.csproj index 2e7df5aa..1a71295e 100644 --- a/src/TeamCitySharp/TeamCitySharp.csproj +++ b/src/TeamCitySharp/TeamCitySharp.csproj @@ -42,6 +42,7 @@ + From b09a91da49d0b47d7e38c11819b9e889c118f22b Mon Sep 17 00:00:00 2001 From: Gordon-Beeming Date: Fri, 17 Oct 2014 17:00:00 +0200 Subject: [PATCH 22/24] Added support to copy configuration --- .gitignore | 3 +- src/TeamCitySharp/ActionTypes/BuildConfigs.cs | 5 +++ .../ActionTypes/IBuildConfigs.cs | 2 + .../DomainEntities/AgentRequirements.cs | 19 +++++++++- .../DomainEntities/ArtifactDependencies.cs | 17 +++++++++ .../DomainEntities/BuildConfig.cs | 38 +++++++++---------- .../DomainEntities/BuildSteps.cs | 16 ++++++++ .../DomainEntities/BuildTriggers.cs | 16 ++++++++ .../DomainEntities/Properties.cs | 15 ++++++++ .../DomainEntities/SnapshotDependencies.cs | 18 ++++++++- .../DomainEntities/VcsRootEntries.cs | 17 +++++++++ src/TeamCitySharp/ITeamCityClient.cs | 6 +-- src/TeamCitySharp/TeamCityClient.cs | 16 ++++---- 13 files changed, 155 insertions(+), 33 deletions(-) diff --git a/.gitignore b/.gitignore index e83ec6cd..79c619d0 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,5 @@ output *.TeamCitySharp.sln.metaproj* *.DotSettings.* nuget -Package \ No newline at end of file +Package +/TeamCitySharp.sln.ide diff --git a/src/TeamCitySharp/ActionTypes/BuildConfigs.cs b/src/TeamCitySharp/ActionTypes/BuildConfigs.cs index cdcd4a0f..11af3817 100644 --- a/src/TeamCitySharp/ActionTypes/BuildConfigs.cs +++ b/src/TeamCitySharp/ActionTypes/BuildConfigs.cs @@ -209,5 +209,10 @@ public BuildConfig BuildType(BuildTypeLocator locator) return build; } + + public void CopyConfiguration(BuildTypeLocator projectLocator, BuildTypeLocator locatorToCopy, string newName) + { + _caller.PostFormat(string.Format("", newName, locatorToCopy), HttpContentTypes.ApplicationXml, "/app/rest/projects/{0}/buildTypes", projectLocator); + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs b/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs index 2829ec2d..a30780ff 100644 --- a/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs +++ b/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs @@ -33,6 +33,8 @@ public interface IBuildConfigs void DeleteParameter(BuildTypeLocator locator, string parameterName); void DeleteBuildTrigger(BuildTypeLocator locator, string buildTriggerId); + void CopyConfiguration(BuildTypeLocator locatorToCopy, BuildTypeLocator locator, string newName); + ///

/// Makes a build type inherit a template. /// diff --git a/src/TeamCitySharp/DomainEntities/AgentRequirements.cs b/src/TeamCitySharp/DomainEntities/AgentRequirements.cs index 6f9afdbe..fa58cf28 100644 --- a/src/TeamCitySharp/DomainEntities/AgentRequirements.cs +++ b/src/TeamCitySharp/DomainEntities/AgentRequirements.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Web; namespace TeamCitySharp.DomainEntities { @@ -9,6 +10,22 @@ public override string ToString() return "agent-requirements"; } - public List AgentRequirement { get; set; } + public List AgentRequirement { get; set; } + + public string GetAsXml() + { + if (AgentRequirement == null) + return ""; + string result = string.Empty; + result += ""; + foreach (var item in AgentRequirement) + { + result += ""; + result += item.Properties.GetAsXml(); + result += ""; + } + result += ""; + return result; + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/DomainEntities/ArtifactDependencies.cs b/src/TeamCitySharp/DomainEntities/ArtifactDependencies.cs index 82286b91..0e6c5bad 100644 --- a/src/TeamCitySharp/DomainEntities/ArtifactDependencies.cs +++ b/src/TeamCitySharp/DomainEntities/ArtifactDependencies.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Web; namespace TeamCitySharp.DomainEntities { @@ -10,5 +11,21 @@ public override string ToString() } public List ArtifactDependency { get; set; } + + public string GetAsXml() + { + if (ArtifactDependency == null) + return ""; + string result = string.Empty; + result += ""; + foreach (var item in ArtifactDependency) + { + result += ""; + result += item.Properties.GetAsXml(); + result += ""; + } + result += ""; + return result; + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/DomainEntities/BuildConfig.cs b/src/TeamCitySharp/DomainEntities/BuildConfig.cs index 93034b20..8cbaa486 100644 --- a/src/TeamCitySharp/DomainEntities/BuildConfig.cs +++ b/src/TeamCitySharp/DomainEntities/BuildConfig.cs @@ -1,20 +1,20 @@ -namespace TeamCitySharp.DomainEntities -{ - public class BuildConfig - { - public override string ToString() - { - return Name; - } - - public string Id { get; set; } - public string Name { get; set; } - public string Href { get; set; } - public string ProjectId { get; set; } - public string ProjectName { get; set; } - public string Description { get; set; } - public string WebUrl { get; set; } - +namespace TeamCitySharp.DomainEntities +{ + public class BuildConfig + { + public override string ToString() + { + return Name; + } + + public string Id { get; set; } + public string Name { get; set; } + public string Href { get; set; } + public string ProjectId { get; set; } + public string ProjectName { get; set; } + public string Description { get; set; } + public string WebUrl { get; set; } + public Project Project { get; set; } public Parameters Parameters { get; set; } @@ -23,7 +23,7 @@ public override string ToString() public VcsRootEntries VcsRootEntries { get; set; } public BuildSteps Steps { get; set; } public AgentRequirements AgentRequirements { get; set; } - public BuildTriggers Triggers { get; set; } - public Properties Settings { get; set; } + public BuildTriggers Triggers { get; set; } + public Properties Settings { get; set; } } } \ No newline at end of file diff --git a/src/TeamCitySharp/DomainEntities/BuildSteps.cs b/src/TeamCitySharp/DomainEntities/BuildSteps.cs index c0c35be1..607c467c 100644 --- a/src/TeamCitySharp/DomainEntities/BuildSteps.cs +++ b/src/TeamCitySharp/DomainEntities/BuildSteps.cs @@ -10,5 +10,21 @@ public override string ToString() } public List Step { get; set; } + + public string GetAsXml() + { + if (Step == null) + return ""; + string result = string.Empty; + result += ""; + foreach (var item in Step) + { + result += ""; + result += item.Properties.GetAsXml(); + result += ""; + } + result += ""; + return result; + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/DomainEntities/BuildTriggers.cs b/src/TeamCitySharp/DomainEntities/BuildTriggers.cs index 0fbe5cc2..13bcbec0 100644 --- a/src/TeamCitySharp/DomainEntities/BuildTriggers.cs +++ b/src/TeamCitySharp/DomainEntities/BuildTriggers.cs @@ -10,5 +10,21 @@ public override string ToString() } public List Trigger { get; set; } + + public string GetAsXml() + { + if (Trigger == null) + return ""; + string result = string.Empty; + result += ""; + foreach (var item in Trigger) + { + result += ""; + result += item.Properties.GetAsXml(); + result += ""; + } + result += ""; + return result; + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/DomainEntities/Properties.cs b/src/TeamCitySharp/DomainEntities/Properties.cs index bb13d698..b4245e65 100644 --- a/src/TeamCitySharp/DomainEntities/Properties.cs +++ b/src/TeamCitySharp/DomainEntities/Properties.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Web; namespace TeamCitySharp.DomainEntities { @@ -9,5 +10,19 @@ public override string ToString() return "properties"; } public List Property { get; set; } + + public string GetAsXml() + { + if (Property == null) + return ""; + string result = string.Empty; + result += ""; + foreach (var property in Property) + { + result += ""; + } + result += ""; + return result; + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/DomainEntities/SnapshotDependencies.cs b/src/TeamCitySharp/DomainEntities/SnapshotDependencies.cs index cd44b4f0..7bd0bb28 100644 --- a/src/TeamCitySharp/DomainEntities/SnapshotDependencies.cs +++ b/src/TeamCitySharp/DomainEntities/SnapshotDependencies.cs @@ -10,5 +10,21 @@ public override string ToString() } public List SnapshotDependency { get; set; } - } + + public string GetAsXml() + { + if (SnapshotDependency == null) + return ""; + string result = string.Empty; + result += ""; + foreach (var item in SnapshotDependency) + { + result += ""; + result += item.Properties.GetAsXml(); + result += ""; + } + result += ""; + return result; + } + } } \ No newline at end of file diff --git a/src/TeamCitySharp/DomainEntities/VcsRootEntries.cs b/src/TeamCitySharp/DomainEntities/VcsRootEntries.cs index 6a18f42b..ecba7234 100644 --- a/src/TeamCitySharp/DomainEntities/VcsRootEntries.cs +++ b/src/TeamCitySharp/DomainEntities/VcsRootEntries.cs @@ -10,5 +10,22 @@ public override string ToString() } public List VcsRootEntry { get; set; } + + public string GetAsXml() + { + if (VcsRootEntry == null) + return ""; + string result = string.Empty; + result += ""; + foreach (var item in VcsRootEntry) + { + result += ""; + result += ""; + result += ""; + result += ""; + } + result += ""; + return result; + } } } \ No newline at end of file diff --git a/src/TeamCitySharp/ITeamCityClient.cs b/src/TeamCitySharp/ITeamCityClient.cs index f63f97d3..f8c6f3c8 100644 --- a/src/TeamCitySharp/ITeamCityClient.cs +++ b/src/TeamCitySharp/ITeamCityClient.cs @@ -1,4 +1,4 @@ -using TeamCitySharp.ActionTypes; +using TeamCitySharp.ActionTypes; namespace TeamCitySharp { @@ -7,7 +7,7 @@ public interface ITeamCityClient void Connect(string userName, string password); void ConnectAsGuest(); bool Authenticate(); - + IBuilds Builds { get; } IBuildConfigs BuildConfigs { get; } IProjects Projects { get; } @@ -16,6 +16,6 @@ public interface ITeamCityClient IAgents Agents { get; } IVcsRoots VcsRoots { get; } IChanges Changes { get; } - IBuildArtifacts Artifacts { get; } + IBuildArtifacts Artifacts { get; } } } \ No newline at end of file diff --git a/src/TeamCitySharp/TeamCityClient.cs b/src/TeamCitySharp/TeamCityClient.cs index eeb9bb82..a3520274 100644 --- a/src/TeamCitySharp/TeamCityClient.cs +++ b/src/TeamCitySharp/TeamCityClient.cs @@ -1,4 +1,4 @@ -using TeamCitySharp.ActionTypes; +using TeamCitySharp.ActionTypes; using TeamCitySharp.Connection; namespace TeamCitySharp @@ -37,8 +37,8 @@ public bool Authenticate() } public IBuilds Builds - { - get { return _builds ?? (_builds = new Builds(_caller)); } + { + get { return _builds ?? (_builds = new Builds(_caller)); } } public IBuildConfigs BuildConfigs @@ -55,8 +55,8 @@ public IServerInformation ServerInformation { get { return _serverInformation ?? (_serverInformation = new ServerInformation(_caller)); } } - - public IUsers Users + + public IUsers Users { get { return _users ?? (_users = new Users(_caller)); } } @@ -72,8 +72,8 @@ public IVcsRoots VcsRoots } public IChanges Changes - { - get { return _changes ?? (_changes = new Changes(_caller)); } + { + get { return _changes ?? (_changes = new Changes(_caller)); } } public IBuildArtifacts Artifacts @@ -81,4 +81,4 @@ public IBuildArtifacts Artifacts get { return _artifacts ?? (_artifacts = new BuildArtifacts(_caller)); } } } -} +} From c0358872bd6488ccf3a44e8d35f2a5cb85f43ee7 Mon Sep 17 00:00:00 2001 From: Gordon-Beeming Date: Mon, 20 Oct 2014 21:08:42 +0200 Subject: [PATCH 23/24] returning Id when creating cofiguration copy --- src/TeamCitySharp/ActionTypes/BuildConfigs.cs | 3 ++- src/TeamCitySharp/ActionTypes/IBuildConfigs.cs | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/TeamCitySharp/ActionTypes/BuildConfigs.cs b/src/TeamCitySharp/ActionTypes/BuildConfigs.cs index 11af3817..0a916848 100644 --- a/src/TeamCitySharp/ActionTypes/BuildConfigs.cs +++ b/src/TeamCitySharp/ActionTypes/BuildConfigs.cs @@ -210,9 +210,10 @@ public BuildConfig BuildType(BuildTypeLocator locator) return build; } - public void CopyConfiguration(BuildTypeLocator projectLocator, BuildTypeLocator locatorToCopy, string newName) + public string CopyConfiguration(BuildTypeLocator projectLocator, BuildTypeLocator locatorToCopy, string newName) { _caller.PostFormat(string.Format("", newName, locatorToCopy), HttpContentTypes.ApplicationXml, "/app/rest/projects/{0}/buildTypes", projectLocator); + return ByConfigurationName(newName).Id; } } } \ No newline at end of file diff --git a/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs b/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs index a30780ff..826f25c1 100644 --- a/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs +++ b/src/TeamCitySharp/ActionTypes/IBuildConfigs.cs @@ -33,7 +33,7 @@ public interface IBuildConfigs void DeleteParameter(BuildTypeLocator locator, string parameterName); void DeleteBuildTrigger(BuildTypeLocator locator, string buildTriggerId); - void CopyConfiguration(BuildTypeLocator locatorToCopy, BuildTypeLocator locator, string newName); + string CopyConfiguration(BuildTypeLocator locatorToCopy, BuildTypeLocator locator, string newName); /// /// Makes a build type inherit a template. From 3c27c99154e03aede1c3b787f930d84e36e73649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9cy=20Dub=C3=A9?= Date: Tue, 4 Nov 2014 10:51:45 -0500 Subject: [PATCH 24/24] Updated solution to VS2013 --- TeamCitySharp.sln | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/TeamCitySharp.sln b/TeamCitySharp.sln index f368ed68..17b28371 100644 --- a/TeamCitySharp.sln +++ b/TeamCitySharp.sln @@ -1,6 +1,8 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 +# Visual Studio 2013 +VisualStudioVersion = 12.0.30723.0 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{263F35DD-20C1-4209-B121-E962C9328C70}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TeamCitySharp.IntegrationTests", "src\Tests\IntegrationTests\TeamCitySharp.IntegrationTests.csproj", "{BA409A09-CC7B-4A71-A3D4-FE27234A721B}"