public static CreateVcsRoot GetCreateVcsRootRequest(string projectName, string projectId, string repositoryUrl, bool isPrivate, string branch = null) { var createVcs = new CreateVcsRoot { Name = "GitHub_{0}".Fmt(projectName), VcsName = VcsRootTypes.Git, Project = new CreateVcsRootProject { Id = projectId }, Properties = new CreateVcsRootProperties { Properties = new List <CreateVcsRootProperty> { new CreateVcsRootProperty { Name = "url", Value = repositoryUrl }, new CreateVcsRootProperty { Name = "authMethod", Value = isPrivate ? "PASSWORD" : "ANONYMOUS" }, new CreateVcsRootProperty { Name = "branch", Value = "refs/heads/{0}".Fmt(branch.IsNullOrEmpty() ? branch : "master") } } } }; return(createVcs); }
public static CreateVcsRoot GetCreateVcsRootRequest(string projectName, string projectId, string repositoryUrl, bool isPrivate, string branch = null) { var createVcs = new CreateVcsRoot { Name = "GitHub_{0}".Fmt(projectName), VcsName = VcsRootTypes.Git, Project = new CreateVcsRootProject { Id = projectId }, Properties = new CreateVcsRootProperties { Properties = new List<CreateVcsRootProperty> { new CreateVcsRootProperty { Name = "url", Value = repositoryUrl }, new CreateVcsRootProperty { Name = "authMethod", Value = isPrivate ? "PASSWORD" : "ANONYMOUS" }, new CreateVcsRootProperty { Name = "branch", Value = "refs/heads/{0}".Fmt(branch.IsNullOrEmpty() ? branch : "master") } } } }; return createVcs; }
public void CanCreateNewVcsRoot() { var proj = new CreateProject { Name = "TestProj123" }; CreateProjectResponse projRes = null; try { projRes = Client.CreateProject(proj); } catch (Exception e) { Client.DeleteProject(new DeleteProject { Locator = "name:TestProj123" }); projRes = Client.CreateProject(proj); } var createVcs = new CreateVcsRoot { Name = "TestVcs1", VcsName = "jetbrains.git", Project = new CreateVcsRootProject { Id = projRes.Id }, Properties = new CreateVcsRootProperties { Properties = new List<CreateVcsRootProperty> { new CreateVcsRootProperty { Name = "url", Value = "https://github.com/ServiceStackApps/StackApis.git" }, new CreateVcsRootProperty { Name = "authMethod", Value = "ANONYMOUS" }, new CreateVcsRootProperty { Name = "branch", Value = "refs/heads/master" } } } }; CreateVcsRootResponse response = null; try { response = Client.CreateVcsRoot(createVcs); } catch (Exception e) { Client.DeleteProject( new DeleteProject { Locator = "id:" + projRes.Id }); throw; } Assert.That(response, Is.Not.Null); Assert.That(response.Name, Is.EqualTo("TestVcs1")); Assert.That(response.Href, Is.Not.Null); Assert.That(response.Project, Is.Not.Null); Assert.That(response.Properties, Is.Not.Null); Assert.That(response.Properties.Count, Is.EqualTo(3)); Assert.That(response.VcsRootInstances, Is.Not.Null); Client.DeleteProject(new DeleteProject { Locator = "id:" + projRes.Id }); }
public void CanCreateTechStacksBuildConfig() { var createProject = new CreateProject { Name = "TestTS" }; var createProjResponse = Client.CreateProject(createProject); var createVcs = new CreateVcsRoot { Name = "GitHub_Test1", VcsName = VcsRootTypes.Git, Project = new CreateVcsRootProject { Id = createProjResponse.Id }, Properties = new CreateVcsRootProperties { Properties = new List<CreateVcsRootProperty> { new CreateVcsRootProperty { Name = "url", Value = "https://github.com/ServiceStackApps/TechStacks.git" }, new CreateVcsRootProperty { Name = "authMethod", Value = "ANONYMOUS" }, new CreateVcsRootProperty { Name = "branch", Value = "refs/heads/master" } } } }; var vcsResponse = Client.CreateVcsRoot(createVcs); var createEmptyBuild = new CreateBuildConfig {Locator = "id:" + createProjResponse.Id, Name = "Build"}; var emptyBuildConfigResponse = Client.CreateBuildConfig(createEmptyBuild); var attachRequest = new AttachVcsEntries { BuildTypeLocator = "id:" + emptyBuildConfigResponse.Id, VcsRootEntries = new List<AttachVcsRootEntry> { new AttachVcsRootEntry { Id = vcsResponse.Id, VcsRoot = new AttachVcsRoot { Id = vcsResponse.Id } } } }; var attachResponse = Client.AttachVcsEntries(attachRequest); //Create build steps var npmStepRequest = new CreateBuildStep { BuildTypeLocator = "id:" + emptyBuildConfigResponse.Id, Name = "NPM Install", TypeId = BuidStepTypes.Npm, StepProperties = new CreateTeamCityProperties { Properties = new List<CreateTeamCityProperty> { new CreateTeamCityProperty { Name = "npm_commands", Value = "install\ninstall bower\ninstall grunt\ninstall grunt-cli" }, new CreateTeamCityProperty { Name = "teamcity.build.workingDir", Value = "src/TechStacks/TechStacks" }, new CreateTeamCityProperty { Name = "teamcity.step.mode", Value = "default" } } } }; var npmStepResponse = Client.CreateBuildStep(npmStepRequest); }
public void CanCreateTechStacksBuildConfig() { var createProject = new CreateProject { Name = "TestTS" }; var createProjResponse = Client.CreateProject(createProject); var createVcs = new CreateVcsRoot { Name = "GitHub_Test1", VcsName = VcsRootTypes.Git, Project = new CreateVcsRootProject { Id = createProjResponse.Id }, Properties = new CreateVcsRootProperties { Properties = new List <CreateVcsRootProperty> { new CreateVcsRootProperty { Name = "url", Value = "https://github.com/ServiceStackApps/TechStacks.git" }, new CreateVcsRootProperty { Name = "authMethod", Value = "ANONYMOUS" }, new CreateVcsRootProperty { Name = "branch", Value = "refs/heads/master" } } } }; var vcsResponse = Client.CreateVcsRoot(createVcs); var createEmptyBuild = new CreateBuildConfig { Locator = "id:" + createProjResponse.Id, Name = "Build" }; var emptyBuildConfigResponse = Client.CreateBuildConfig(createEmptyBuild); var attachRequest = new AttachVcsEntries { BuildTypeLocator = "id:" + emptyBuildConfigResponse.Id, VcsRootEntries = new List <AttachVcsRootEntry> { new AttachVcsRootEntry { Id = vcsResponse.Id, VcsRoot = new AttachVcsRoot { Id = vcsResponse.Id } } } }; var attachResponse = Client.AttachVcsEntries(attachRequest); //Create build steps var npmStepRequest = new CreateBuildStep { BuildTypeLocator = "id:" + emptyBuildConfigResponse.Id, Name = "NPM Install", TypeId = BuidStepTypes.Npm, StepProperties = new CreateTeamCityProperties { Properties = new List <CreateTeamCityProperty> { new CreateTeamCityProperty { Name = "npm_commands", Value = "install\ninstall bower\ninstall grunt\ninstall grunt-cli" }, new CreateTeamCityProperty { Name = "teamcity.build.workingDir", Value = "src/TechStacks/TechStacks" }, new CreateTeamCityProperty { Name = "teamcity.step.mode", Value = "default" } } } }; var npmStepResponse = Client.CreateBuildStep(npmStepRequest); }
public void CanCreateNewVcsRoot() { var proj = new CreateProject { Name = "TestProj123" }; CreateProjectResponse projRes = null; try { projRes = Client.CreateProject(proj); } catch (Exception e) { Client.DeleteProject(new DeleteProject { Locator = "name:TestProj123" }); projRes = Client.CreateProject(proj); } var createVcs = new CreateVcsRoot { Name = "TestVcs1", VcsName = "jetbrains.git", Project = new CreateVcsRootProject { Id = projRes.Id }, Properties = new CreateVcsRootProperties { Properties = new List <CreateVcsRootProperty> { new CreateVcsRootProperty { Name = "url", Value = "https://github.com/ServiceStackApps/StackApis.git" }, new CreateVcsRootProperty { Name = "authMethod", Value = "ANONYMOUS" }, new CreateVcsRootProperty { Name = "branch", Value = "refs/heads/master" } } } }; CreateVcsRootResponse response = null; try { response = Client.CreateVcsRoot(createVcs); } catch (Exception e) { Client.DeleteProject(new DeleteProject { Locator = "id:" + projRes.Id }); throw; } Assert.That(response, Is.Not.Null); Assert.That(response.Name, Is.EqualTo("TestVcs1")); Assert.That(response.Href, Is.Not.Null); Assert.That(response.Project, Is.Not.Null); Assert.That(response.Properties, Is.Not.Null); Assert.That(response.Properties.Count, Is.EqualTo(3)); Assert.That(response.VcsRootInstances, Is.Not.Null); Client.DeleteProject(new DeleteProject { Locator = "id:" + projRes.Id }); }