From ee332b27b846c1c775e761d8376de8247563d60f Mon Sep 17 00:00:00 2001 From: John Cruikshank Date: Mon, 4 Apr 2016 16:06:56 -0500 Subject: [PATCH] feat: environment display names --- nautilus/DeployCommand.cs | 18 +++++++++++++++--- nautilus/OctopusProxy.cs | 5 +++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/nautilus/DeployCommand.cs b/nautilus/DeployCommand.cs index a2a8c95..d9ffc52 100644 --- a/nautilus/DeployCommand.cs +++ b/nautilus/DeployCommand.cs @@ -26,7 +26,9 @@ protected override int Run(OctopusProxy octopus) return 1; } - WriteLine($"Target machine: {machine.Id} {machine.Name} {String.Join(",", machine.Roles)} {String.Join(",", machine.EnvironmentIds)}"); + var environments = octopus.GetEnvironments().ToDictionary(i => i.Id); + + WriteLine($"Target machine: {machine.Id} {machine.Name} {String.Join(",", machine.Roles)} {String.Join(",", machine.EnvironmentIds.Select(e => GetEnvironmentName(e, environments)))}"); WriteLine($"Finding projects with the target roles ({String.Join(",", machine.Roles)})..."); @@ -51,7 +53,7 @@ protected override int Run(OctopusProxy octopus) var dashboard = octopus.GetDynamicDashboard(matchedProjects.Keys, machine.EnvironmentIds); - WriteLine($"Creating deployments for target environments ({String.Join(",", machine.EnvironmentIds)})..."); + WriteLine($"Creating deployments for target environments ({String.Join(",", machine.EnvironmentIds.Select(e => GetEnvironmentName(e, environments)))})..."); foreach(var item in dashboard.Items) { @@ -59,7 +61,7 @@ protected override int Run(OctopusProxy octopus) { var project = matchedProjects[item.ProjectId]; var deployment = octopus.CreateDeployment(machine.Id, item.ReleaseId, item.EnvironmentId, $"Nautilus: {machine.Id}"); - Write($" {deployment.Id} {project.Name} {item.ReleaseVersion} {item.EnvironmentId}"); + Write($" {deployment.Id} {project.Name} {item.ReleaseVersion} -> {GetEnvironmentName(item.EnvironmentId, environments)}"); if (Wait) { Write($"... "); @@ -93,5 +95,15 @@ private static bool HasAnyRole(DeploymentProcessResource deploymentProcess, IEnu return false; } + + private static string GetEnvironmentName(string environmentId, IDictionary lookup) + { + EnvironmentResource environment; + if (lookup.TryGetValue(environmentId, out environment)) + { + return environment.Name; + } + return environmentId; + } } } \ No newline at end of file diff --git a/nautilus/OctopusProxy.cs b/nautilus/OctopusProxy.cs index 5afb328..b81d532 100644 --- a/nautilus/OctopusProxy.cs +++ b/nautilus/OctopusProxy.cs @@ -68,6 +68,11 @@ public IEnumerable GetProjects() return _repository.Projects.FindAll(); } + public IEnumerable GetEnvironments() + { + return _repository.Environments.FindAll(); + } + public DeploymentProcessResource GetDeploymentProcess(string id) { return _repository.DeploymentProcesses.Get(id);