private async Task <IEnumerable <Stage> > GetStagesWithJobs(string apiHost, string apiKey, string apiProjectId, int pipeId) { var apiClient = new GitLabClient(apiHost, apiKey); var jobs = await apiClient.GetJobs(apiProjectId, pipeId); var stages = jobs.GroupBy(j => j.Stage) .Select(stage => new Stage() { StageName = stage.Key, //StageStatus = CalculateStageStatus(stage.Select(p => new Job() { DataProviderJobId = p.Id, Status = MapGitlabStatus(p.Status) }).ToList()), Jobs = stage.Select(p => new Job() { DataProviderJobId = p.Id, Status = MapGitlabStatus(p.Status), StageName = p.Stage }).ToList() }); return(stages); }