public virtual List <ReleaseDefinition> GetReleaseDefinitions(string projectId, ReleaseHttpClient rmClient) { return(rmClient.GetReleaseDefinitionsAsync( project: projectId, searchText: "DEMO_DEPLOYER", expand: ReleaseDefinitionExpands.Artifacts ).Result); }
public IEnumerable <ReleaseDefinition> GetReleaseDefinitions( string definitionName, string accessToken) { if (string.IsNullOrWhiteSpace(accessToken)) { throw new ArgumentException("parameter cannot be null or whitespace", nameof(accessToken)); } this.logger.LogDebug($"getting release definitions. definition name:[{definitionName}]"); ReleaseHttpClient client = this.GetClient <ReleaseHttpClient>(accessToken); return(client.GetReleaseDefinitionsAsync( this.vstsConfig.ProjectName, searchText: definitionName, expand: ReleaseDefinitionExpands.Artifacts | ReleaseDefinitionExpands.Environments).Result); }
public List <ReleaseDefinition> ListAllReleaseDefinitionsWithArtifactsExpanded() { string projectName = ClientSampleHelpers.FindAnyProject(this.Context).Name; // Get a release client instance VssConnection connection = Context.Connection; ReleaseHttpClient releaseClient = connection.GetClient <ReleaseHttpClient>(); // Show the release definitions List <ReleaseDefinition> releaseDefinitions = releaseClient.GetReleaseDefinitionsAsync(project: projectName, expand: ReleaseDefinitionExpands.Artifacts).Result; foreach (ReleaseDefinition releaseDefinition in releaseDefinitions) { Console.WriteLine("{0} {1}", releaseDefinition.Id.ToString().PadLeft(6), releaseDefinition.Name); } return(releaseDefinitions); }
public async Task <ReleaseResults> GetReleaseDefinitions() { var defs = await _releaseClient.GetReleaseDefinitionsAsync(_projectName, null, ReleaseDefinitionExpands.Environments); var failingSolutions = (await _buildClient.GetBuildsAsync(_projectName)) .GroupBy(x => new { x.Definition.Name, x.Status }) .Select(x => x.FirstOrDefault(w => w.BuildNumber == x.Max(m => m.BuildNumber))) .Where(x => x != null && (x.Result == BuildResult.Failed || x.Status == BuildStatus.InProgress)) .Select(x => new Tuple <string, string>(x.Definition.Name, x.Status.ToString())) .ToList(); return(new ReleaseResults { FailingSolutions = failingSolutions, Defs = defs }); }
/// <summary> /// View all releases in a tream project /// </summary> /// <param name="teamProjectName"></param> private static void ViewProjectReleasDefinitions(string teamProjectName) { var reldefList = ReleaseClient.GetReleaseDefinitionsAsync(teamProjectName, expand: ReleaseDefinitionExpands.Environments).Result; foreach (var reldef in reldefList) { Console.WriteLine("===========RELEASE DEFINITION=================================="); Console.WriteLine("ID: {0} PATH: {1} NAME: {2}", reldef.Id, reldef.Path, reldef.Name); Console.WriteLine("---------------------------------------------------------------"); Console.Write("STAGES:"); if (reldef.Environments != null) { foreach (var env in reldef.Environments) { Console.Write(env.Name + "; "); } } Console.WriteLine(); ViewReleases(teamProjectName, reldef.Id); } }
static void RunOptions(Options opts) { VssCredentials creds = new VssBasicCredential(string.Empty, personalAccessToken); // Connect to Azure DevOps Services VssConnection connection = new VssConnection(new Uri(collectionUri), creds); //GraphClient GraphHttpClient graphClient = new GraphHttpClient(new Uri(collectionUri), creds); // Get Project ProjectHttpClient projectClient = connection.GetClient <ProjectHttpClient>(); var projects = projectClient.GetProjects().Result; ReleaseHttpClient releaseHttpClient = connection.GetClient <ReleaseHttpClient>(); BuildHttpClient buildClient = connection.GetClient <BuildHttpClient>(); // Results List <ProjectExtractInfo> projectExtracts = new List <ProjectExtractInfo>(); List <BuildExtractInfo> buildExtracts = new List <BuildExtractInfo>(); List <ReleaseExtractInfo> releaseExtracts = new List <ReleaseExtractInfo>(); foreach (var p in projects) { Console.WriteLine($"Processing {p.Name} ..."); //Builds var builds = buildClient.GetFullDefinitionsAsync(p.Id).Result; foreach (var b in builds) { buildExtracts.Add(new BuildExtractInfo { Name = b.Name, ProjectName = p.Name, RepoName = b.Repository.Name, RepoType = b.Repository.Type, DefaultAgent = b.Queue.Pool.Name, TriggerType = b.Triggers.Count > 0 ? b.Triggers[0].TriggerType.ToString() : "", TriggerBranchFilters = b.Triggers.Count > 0 ? string.Join(",", ((ContinuousIntegrationTrigger)b.Triggers.First()).BranchFilters.ToArray()) : "", Url = b.Url, Steps = b.Process != null ? ((DesignerProcess)b.Process).Phases[0].Steps.Select(s => s.DisplayName).ToList() : new List <string>() }); } //Releases var releases = releaseHttpClient.GetReleaseDefinitionsAsync(p.Name, expand: ReleaseDefinitionExpands.Environments).Result; foreach (var r in releases) { releaseExtracts.Add(new ReleaseExtractInfo { Name = r.Name, ProjectName = p.Name }); } projectExtracts.Add(new ProjectExtractInfo { Name = p.Name, BuildCount = builds.Count, ReleaseCount = releases.Count }); } //Save Results ExcelSerializer.Serialize(projectExtracts, buildExtracts, releaseExtracts); Console.ReadLine(); }
public async Task <List <ReleaseDefinition> > GetReleaseDefinitions() { return(await _client.GetReleaseDefinitionsAsync(_projectName, null, ReleaseDefinitionExpands.Environments)); }