diff --git a/README.md b/README.md index 4db5e6a8..be0adbf7 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ Each area has its own list of methods available Change ByChangeId(string id); Change LastChangeDetailByBuildConfigId(string buildConfigId); List ByBuildConfigId(string buildConfigId); + List ByBuildId(string buildId); ###BuildArtifacts void DownloadArtifactsByBuildId(string buildId, Action downloadHandler); diff --git a/src/TeamCitySharp/ActionTypes/Changes.cs b/src/TeamCitySharp/ActionTypes/Changes.cs index 5218b4aa..b56f5eea 100644 --- a/src/TeamCitySharp/ActionTypes/Changes.cs +++ b/src/TeamCitySharp/ActionTypes/Changes.cs @@ -34,6 +34,13 @@ public List ByBuildConfigId(string buildConfigId) return changeWrapper.Change; } + + public List ByBuildId(string buildId) + { + var changeWrapper = _caller.GetFormat("/app/rest/changes?build=id:{0}", buildId); + + return changeWrapper.Change; + } public Change LastChangeDetailByBuildConfigId(string buildConfigId) { diff --git a/src/TeamCitySharp/ActionTypes/IChanges.cs b/src/TeamCitySharp/ActionTypes/IChanges.cs index 1ae51cd5..49b90ade 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 ByBuildId(string buildId); } } \ No newline at end of file diff --git a/src/Tests/IntegrationTests/SampleChangeUsage.cs b/src/Tests/IntegrationTests/SampleChangeUsage.cs index fa8eca06..0797ce99 100644 --- a/src/Tests/IntegrationTests/SampleChangeUsage.cs +++ b/src/Tests/IntegrationTests/SampleChangeUsage.cs @@ -65,6 +65,14 @@ public void it_returns_change_details_by_change_id(string changeId) Change changeDetails = _client.Changes.ByChangeId(changeId); Assert.That(changeDetails != null, "Cannot find details of that specified change"); + } + + [TestCase("104726")] + public void it_returns_change_details_by_build_id(string buildId) + { + var changes = _client.Changes.ByBuildId(buildId); + + Assert.That(changes != null, string.Format("Cannot find any changes for build id {0}", buildId)); } [TestCase("bt113")]