Skip to content
This repository was archived by the owner on Feb 12, 2019. It is now read-only.

Commit 3d2e6b3

Browse files
committed
Merge pull request #59 from ericdc1/master
Added pause and unpause build configuration
2 parents e3fa26f + 10cafd0 commit 3d2e6b3

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

src/TeamCitySharp/ActionTypes/BuildConfigs.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,15 @@ public void SetConfigurationSetting(BuildTypeLocator locator, string settingName
9090
_caller.PutFormat(settingValue, HttpContentTypes.TextPlain, "/app/rest/buildTypes/{0}/settings/{1}", locator, settingName);
9191
}
9292

93+
public bool GetConfigurationPauseStatus(BuildTypeLocator locator)
94+
{
95+
return _caller.Get<bool>(string.Format("/app/rest/buildTypes/{0}/paused/", locator.Name));
96+
}
97+
public void SetConfigurationPauseStatus(BuildTypeLocator locator, bool isPaused)
98+
{
99+
_caller.PutFormat(isPaused, HttpContentTypes.TextPlain, "/app/rest/buildTypes/{0}/paused/", locator);
100+
}
101+
93102
public void PostRawArtifactDependency(BuildTypeLocator locator, string rawXml)
94103
{
95104
_caller.PostFormat<ArtifactDependency>(rawXml, HttpContentTypes.ApplicationXml, string.Empty, "/app/rest/buildTypes/{0}/artifact-dependencies", locator);

src/TeamCitySharp/ActionTypes/IBuildConfigs.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ public interface IBuildConfigs
2020
BuildConfig CreateConfiguration(string projectName, string configurationName);
2121

2222
void SetConfigurationSetting(BuildTypeLocator locator, string settingName, string settingValue);
23+
bool GetConfigurationPauseStatus(BuildTypeLocator locator);
24+
void SetConfigurationPauseStatus(BuildTypeLocator locator, bool isPaused);
2325
void PostRawArtifactDependency(BuildTypeLocator locator, string rawXml);
2426
void PostRawBuildStep(BuildTypeLocator locator, string rawXml);
2527
void PostRawBuildTrigger(BuildTypeLocator locator, string rawXml);

src/Tests/IntegrationTests/SampleBuildsConfigsUsage.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Linq;
33
using System.Net;
44
using NUnit.Framework;
5+
using TeamCitySharp.Locators;
56

67
namespace TeamCitySharp.IntegrationTests
78
{
@@ -66,6 +67,26 @@ public void it_returns_build_config_details_by_configuration_id()
6667
Assert.That(buildConfig != null, "Cannot find a build type for that buildId");
6768
}
6869

70+
[Test]
71+
public void it_pauses_configuration()
72+
{
73+
string buildConfigId = "bt437";
74+
var buildLocator = BuildTypeLocator.WithId(buildConfigId);
75+
_client.BuildConfigs.SetConfigurationPauseStatus(buildLocator, true);
76+
var status = _client.BuildConfigs.GetConfigurationPauseStatus(buildLocator);
77+
Assert.That(status == true, "Build not paused");
78+
}
79+
80+
[Test]
81+
public void it_unpauses_configuration()
82+
{
83+
string buildConfigId = "bt437";
84+
var buildLocator = BuildTypeLocator.WithId(buildConfigId);
85+
_client.BuildConfigs.SetConfigurationPauseStatus(buildLocator, false);
86+
var status = _client.BuildConfigs.GetConfigurationPauseStatus(buildLocator);
87+
Assert.That(status == false, "Build not unpaused");
88+
}
89+
6990
[Test]
7091
public void it_returns_build_config_details_by_configuration_name()
7192
{

0 commit comments

Comments
 (0)