public static List <ReleaseDeployPhase> GetPhases(this ReleaseEnvironment source) { List <ReleaseDeployPhase> phases = new List <ReleaseDeployPhase>(); if (source?.DeploySteps != null && source.DeploySteps.Any()) { DeploymentAttempt deploymentAttempt = source.GetMaxDeploymentAttempt(); foreach (var releaseDeployPhase in deploymentAttempt.ReleaseDeployPhases) { phases.Add(releaseDeployPhase); } } return(phases); }
public static List <ReleaseTask> GetReleaseTasks(this ReleaseEnvironment source) { List <ReleaseTask> tasks = new List <ReleaseTask>(); if (source?.DeploySteps != null && source.DeploySteps.Any()) { DeploymentAttempt deploymentAttempt = source.GetMaxDeploymentAttempt(); foreach (var releaseDeployPhase in deploymentAttempt.ReleaseDeployPhases) { foreach (var deploymentJob in releaseDeployPhase.DeploymentJobs) { tasks.AddRange(deploymentJob.Tasks); } } } return(tasks); }