public async Task <IList <VstsReleaseStatus> > CheckReleaseStatus(int releaseDefinitionId, int releaseId) { ReleaseHttpClient releaseClient = _vssConnection.GetClient <ReleaseHttpClient>(); List <Deployment> deployments = await releaseClient.GetDeploymentsAsync(project : _configuration.Value.ProjectName, definitionId : releaseDefinitionId, top : 25); var deployment = deployments.Where(r => r.Release.Id == releaseId).OrderBy(x => x.ReleaseEnvironmentReference.Id).ToList(); List <VstsReleaseStatus> vstsReleaseStatus = deployment.Select(x => new VstsReleaseStatus { Name = x.ReleaseEnvironmentReference.Name, ReleaseStatus = (VstsReleaseStatus.Status)x.DeploymentStatus }).ToList(); return(vstsReleaseStatus); }
public IEnumerable <Deployment> ListDeploymentsForAGivenDefinitionId() { string projectName = ClientSampleHelpers.FindAnyProject(this.Context).Name; // Get a release client instance VssConnection connection = Context.Connection; ReleaseHttpClient releaseClient = connection.GetClient <ReleaseHttpClient>(); List <Deployment> deployments = releaseClient.GetDeploymentsAsync(project: projectName, definitionId: newlyCreatedReleaseDefinitionId).Result; // Show the deployments foreach (Deployment deployment in deployments) { Context.Log("{0} {1}", deployment.Id.ToString().PadLeft(6), deployment.Release.Name); } return(deployments); }
static void CancelAllInProgressDeployments(ReleaseHttpClient rmClient) { try { var allInProgressEnvironments = rmClient.GetDeploymentsAsync( projectName, deploymentStatus: DeploymentStatus.InProgress).Result; foreach (var inProgressEnvironment in allInProgressEnvironments) { ReleaseEnvironmentUpdateMetadata envMetaData = new ReleaseEnvironmentUpdateMetadata(); envMetaData.Status = EnvironmentStatus.Canceled; envMetaData.Comment = "Good to cancel"; var cancelledEnvironment = rmClient.UpdateReleaseEnvironmentAsync( envMetaData, projectName, inProgressEnvironment.Release.Id, inProgressEnvironment.ReleaseEnvironment.Id).Result; } } catch (Exception) { } }
protected async Task ReleaseLoad() { if (projects != null) { foreach (var proj in projects) { var rs = await relclient.GetDeploymentsAsync(proj.Name).ConfigureAwait(false); foreach (var release in rs) { var old = Releases.FirstOrDefault(x => x.Id == release.Id); var oldbr = BuildRelease.FirstOrDefault(x => x.Id == release.Id); Releases.Remove(old); BuildRelease.Remove(oldbr); release.ProjectReference = new(); release.ProjectReference.Name = proj.Name; Releases.Add(release); BuildRelease br = GetRelease(proj, release); BuildRelease.Add(br); } } } }