diff --git a/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETCore.approved.txt b/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETCore.approved.txt index 876af160b..194f164f9 100644 --- a/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETCore.approved.txt +++ b/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETCore.approved.txt @@ -6493,6 +6493,12 @@ Octopus.Client.Model.VersionControl { .ctor() } + class UpdateVersionControlledDeploymentProcessCommand + { + .ctor() + String CommitMessage { get; set; } + Octopus.Client.Model.DeploymentProcessResource Resource { get; set; } + } class VersionControlReferenceResource { .ctor() @@ -7787,8 +7793,10 @@ Octopus.Client.Repositories.Async interface IProjectBetaRepository { Task ConvertToVersionControlled(Octopus.Client.Model.ProjectResource, Octopus.Client.Model.VersionControlSettingsResource, String) + Task GetDeploymentProcess(Octopus.Client.Model.ProjectResource) Task GetVersionControlledBranch(Octopus.Client.Model.ProjectResource, String) Task> GetVersionControlledBranches(Octopus.Client.Model.ProjectResource) + Task UpdateDeploymentProcess(Octopus.Client.Model.ProjectResource, Octopus.Client.Model.DeploymentProcessResource, String) } interface IProjectGroupRepository Octopus.Client.Repositories.Async.IFindByName diff --git a/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETFramework.approved.txt b/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETFramework.approved.txt index fb11a0611..d3894adca 100644 --- a/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETFramework.approved.txt +++ b/source/Octopus.Client.Tests/PublicSurfaceAreaFixture.ThePublicSurfaceAreaShouldNotRegress..NETFramework.approved.txt @@ -6518,6 +6518,12 @@ Octopus.Client.Model.VersionControl { .ctor() } + class UpdateVersionControlledDeploymentProcessCommand + { + .ctor() + String CommitMessage { get; set; } + Octopus.Client.Model.DeploymentProcessResource Resource { get; set; } + } class VersionControlReferenceResource { .ctor() @@ -7813,8 +7819,10 @@ Octopus.Client.Repositories.Async interface IProjectBetaRepository { Task ConvertToVersionControlled(Octopus.Client.Model.ProjectResource, Octopus.Client.Model.VersionControlSettingsResource, String) + Task GetDeploymentProcess(Octopus.Client.Model.ProjectResource) Task GetVersionControlledBranch(Octopus.Client.Model.ProjectResource, String) Task> GetVersionControlledBranches(Octopus.Client.Model.ProjectResource) + Task UpdateDeploymentProcess(Octopus.Client.Model.ProjectResource, Octopus.Client.Model.DeploymentProcessResource, String) } interface IProjectGroupRepository Octopus.Client.Repositories.Async.IFindByName diff --git a/source/Octopus.Client/Model/VersionControl/UpdateVersionControlledDeploymentProcessCommand.cs b/source/Octopus.Client/Model/VersionControl/UpdateVersionControlledDeploymentProcessCommand.cs new file mode 100644 index 000000000..3fc0e1e51 --- /dev/null +++ b/source/Octopus.Client/Model/VersionControl/UpdateVersionControlledDeploymentProcessCommand.cs @@ -0,0 +1,13 @@ +using System.ComponentModel.DataAnnotations; + +namespace Octopus.Client.Model.VersionControl +{ + public class UpdateVersionControlledDeploymentProcessCommand + { + [Required] + public string CommitMessage { get; set; } + + [Required] + public DeploymentProcessResource Resource { get; set; } + } +} \ No newline at end of file diff --git a/source/Octopus.Client/Repositories/Async/ProjectRepository.cs b/source/Octopus.Client/Repositories/Async/ProjectRepository.cs index 5b35c38d4..2ddc6d958 100644 --- a/source/Octopus.Client/Repositories/Async/ProjectRepository.cs +++ b/source/Octopus.Client/Repositories/Async/ProjectRepository.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using System.Collections.Generic; using System.Threading.Tasks; @@ -130,6 +129,9 @@ public interface IProjectBetaRepository Task> GetVersionControlledBranches(ProjectResource projectResource); Task GetVersionControlledBranch(ProjectResource projectResource, string branch); Task ConvertToVersionControlled(ProjectResource project, VersionControlSettingsResource versionControlSettings, string commitMessage); + Task GetDeploymentProcess(ProjectResource project); + Task UpdateDeploymentProcess(ProjectResource projectResource, + DeploymentProcessResource deploymentProcessResource, string commitMessage); } class ProjectBetaRepository : IProjectBetaRepository @@ -164,5 +166,24 @@ public async Task ConvertToVersionCon var response = await client.Post(url, payload); return response; } + + public Task GetDeploymentProcess(ProjectResource projectResource) + { + return client.Get(projectResource.Link("DeploymentProcess")); + } + + public async Task UpdateDeploymentProcess(ProjectResource projectResource, DeploymentProcessResource deploymentProcessResource, + string commitMessage) + { + var payload = new UpdateVersionControlledDeploymentProcessCommand + { + Resource = deploymentProcessResource, + CommitMessage = commitMessage + }; + + var url = projectResource.Link("DeploymentProcess"); + var response = await client.Post(url, payload); + return response; + } } } \ No newline at end of file