public void Snapshot_() { var client = CreateBuildConfigClient(); var dependency = new CreateSnapshotDependency("foo_service_Master", "FooCore_Master"); client.CreateSnapshotDependency(dependency).Wait(); }
public async Task CreateSnapshotDependency(CreateSnapshotDependency dependency) { Log.DebugFormat("API BuildConfig.CreateSnapshotDependency for: {0}, to: {0}", dependency.TargetBuildConfigId, dependency.DependencyBuildConfigId); string requestUri = string.Format("/app/rest/buildTypes/id:{0}", dependency.DependencyBuildConfigId); BuildConfigSummary buildConfig = await _http.Get <BuildConfigSummary>(requestUri); var dependencyDefinition = new DependencyDefinition { Id = buildConfig.Id, Type = "snapshot_dependency", Properties = new Properties { Property = new PropertyList { new Property() { Name = "run-build-if-dependency-failed", Value = dependency.RunBuildIfDependencyFailed.ToString() }, new Property() { Name = "run-build-if-dependency-failed-to-start", Value = dependency.RunBuildIfDependencyFailed.ToString() }, new Property() { Name = "take-successful-builds-only", Value = dependency.TakeSuccessFulBuildsOnly.ToString() }, new Property() { Name = "run-build-on-the-same-agent", Value = dependency.RunBuildOnTheSameAgent.ToString() }, new Property() { Name = "take-started-build-with-same-revisions", Value = dependency.TakeStartedBuildWithSameRevisions.ToString() }, } }, SourceBuildConfig = buildConfig }; await CreateDependency(dependency.TargetBuildConfigId, dependencyDefinition); }
public void Should_create_snapshot_dependency(IBuildConfigXmlClient buildConfigXmlClient, string dependencyBuildConfigId, bool takeStartedBuildWithSameRevisions, bool takeSuccessFulBuildsOnly) { var buildConfigXml = new BuildConfigXmlGenerator(buildConfigXmlClient, buildNonStubVersion: true).Create(); var dependencyToCreate = new CreateSnapshotDependency(Arg.Any <string>(), dependencyBuildConfigId); dependencyToCreate.TakeStartedBuildWithSameRevisions = takeStartedBuildWithSameRevisions; dependencyToCreate.TakeSuccessFulBuildsOnly = takeSuccessFulBuildsOnly; buildConfigXml.CreateSnapshotDependency(dependencyToCreate); var dependOnElement = (XmlElement)buildConfigXml.Xml.SelectSingleNode("/build-type/settings/dependencies/depend-on[@sourceBuildTypeId='" + dependencyBuildConfigId + "']"); Assert.Equal(dependencyBuildConfigId, dependOnElement.Attributes["sourceBuildTypeId"].Value); var option1 = dependOnElement.SelectSingleNode("options/option[@name='take-started-build-with-same-revisions']").Attributes["value"].Value; Assert.Equal(takeStartedBuildWithSameRevisions.ToString().ToLower(), option1); var option2 = dependOnElement.SelectSingleNode("options/option[@name='take-successful-builds-only']").Attributes["value"].Value; Assert.Equal(takeSuccessFulBuildsOnly.ToString().ToLower(), option2); }
public BuildConfigXmlGenerator WithSnapshotDependency(CreateSnapshotDependency dependency) { BuildConfigXml.CreateSnapshotDependency(dependency); return(this); }