예제 #1
0
        public async Task <List <JobDetails> > GetJobDetailsAsync(string pipelineName, string stageName, string jobName)
        {
            try
            {
                var searchUrl = Urls.SearchUrl;
                var query     = new NameValueCollection {
                    { nameof(searchUrl), searchUrl },
                    { nameof(pipelineName), pipelineName },
                    { nameof(stageName), stageName },
                    { nameof(jobName), jobName },
                    { @"limitCount", jobLimitCount.ToString() },
                    { @"limitPipeline", "latest" }
                };

                var uri    = new Uri(searchUrl).AttachParameters(query);
                var stream = await Dispatch.GetRawStreamAsync(uri);

                using (var reader = new StreamReader(stream))
                {
                    using (var csvReader = new CsvReader(reader))
                    {
                        var records = csvReader.GetRecords <JobDetails>();
                        return(records.ToList());
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(Enumerable.Empty <JobDetails>().ToList());
            }
        }