protected override void ProcessRecord() { var baseResourceList = new List <ReleaseResource>(); var project = _connection.Repository.Projects.FindByName(ProjectName); if (project == null) { throw OctoposhExceptions.ResourceNotFound(ProjectName, "Project"); } else { switch (ParameterSetName) { case ByVersion: foreach (var version in ReleaseVersion) { try { baseResourceList.Add(_connection.Repository.Projects.GetReleaseByVersion(project, version)); } catch (Exception e) { WriteError(new ErrorRecord(e, "ResourceNotFound", ErrorCategory.ObjectNotFound, e.Message)); } } break; case ByLatest: var releases = new List <ReleaseResource>(); if (Latest > 30) { releases = _connection.Repository.Projects.GetAllReleases(project).ToList(); } else { releases = _connection.Repository.Projects.GetReleases(project).Items.ToList(); } if (releases.Count > Latest) { baseResourceList.AddRange(releases.GetRange(0, Latest)); } else { baseResourceList.AddRange(releases); } break; default: baseResourceList.AddRange(_connection.Repository.Projects.GetAllReleases(project).ToList()); break; } } if (ResourceOnly) { WriteObject(baseResourceList); } else { var converter = new OutputConverter(); var outputList = converter.GetOctopusRelease(baseResourceList); WriteObject(outputList); } }