From 9a5a00745f86c1c336946b7d40bcd8f5e7adbd28 Mon Sep 17 00:00:00 2001 From: van800 Date: Sat, 12 Apr 2014 13:19:29 +0200 Subject: [PATCH 1/3] implement get Build ById --- src/TeamCitySharp/ActionTypes/Builds.cs | 9 ++++++++- src/TeamCitySharp/ActionTypes/IBuilds.cs | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/TeamCitySharp/ActionTypes/Builds.cs b/src/TeamCitySharp/ActionTypes/Builds.cs index 4c52f340..1a0a316b 100644 --- a/src/TeamCitySharp/ActionTypes/Builds.cs +++ b/src/TeamCitySharp/ActionTypes/Builds.cs @@ -34,7 +34,14 @@ public Build LastBuildByAgent(string agentName) )).SingleOrDefault(); } - public void Add2QueueBuildByBuildConfigId(string buildConfigId) + public Build ById(string buildId) + { + var build = _caller.GetFormat("/app/rest/builds/id:{0}", buildId); + + return build; + } + + public void Add2QueueBuildByBuildConfigId(string buildConfigId) { _caller.GetFormat("/action.html?add2Queue={0}", buildConfigId); } diff --git a/src/TeamCitySharp/ActionTypes/IBuilds.cs b/src/TeamCitySharp/ActionTypes/IBuilds.cs index 6afba988..8f166190 100644 --- a/src/TeamCitySharp/ActionTypes/IBuilds.cs +++ b/src/TeamCitySharp/ActionTypes/IBuilds.cs @@ -23,6 +23,7 @@ public interface IBuilds List NonSuccessfulBuildsForUser(string userName); List ByBranch(string branchName); Build LastBuildByAgent(string agentName); + Build ById(string buildId); void Add2QueueBuildByBuildConfigId(string buildConfigId); } } \ No newline at end of file From 652ce9fadac7429d66ee59efdb0353fa6ded62bc Mon Sep 17 00:00:00 2001 From: van800 Date: Sat, 12 Apr 2014 13:20:08 +0200 Subject: [PATCH 2/3] implement DownloadTestsCsv --- src/TeamCitySharp/TeamCityClient.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/TeamCitySharp/TeamCityClient.cs b/src/TeamCitySharp/TeamCityClient.cs index eeb9bb82..2fd7171c 100644 --- a/src/TeamCitySharp/TeamCityClient.cs +++ b/src/TeamCitySharp/TeamCityClient.cs @@ -1,5 +1,8 @@ -using TeamCitySharp.ActionTypes; +using System; +using System.IO; +using TeamCitySharp.ActionTypes; using TeamCitySharp.Connection; +using TeamCitySharp.DomainEntities; namespace TeamCitySharp { @@ -80,5 +83,14 @@ public IBuildArtifacts Artifacts { get { return _artifacts ?? (_artifacts = new BuildArtifacts(_caller)); } } + + /// + /// + /// + public void DownloadTestsCsv(Action downloadHandler, Build build) + { + string uriPart = string.Format("/get/tests/buildId/{0}", build.Id); + _caller.GetDownloadFormat(downloadHandler, uriPart); + } } } From 23ee5aaa6b115edab7d73dd8292c251755e8f1e4 Mon Sep 17 00:00:00 2001 From: van800 Date: Sat, 12 Apr 2014 16:43:08 +0200 Subject: [PATCH 3/3] override Equals and GetHashCode for Agent --- src/TeamCitySharp/DomainEntities/Agent.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/TeamCitySharp/DomainEntities/Agent.cs b/src/TeamCitySharp/DomainEntities/Agent.cs index ea811e2e..7b10e468 100644 --- a/src/TeamCitySharp/DomainEntities/Agent.cs +++ b/src/TeamCitySharp/DomainEntities/Agent.cs @@ -11,5 +11,14 @@ public override string ToString() { return Name; } + + public override bool Equals(object obj) + { + return Name.Equals(((Agent)obj).Name); + } + public override int GetHashCode() + { + return Name.GetHashCode(); + } } }