Beispiel #1
0
        public async Task <IActionResult> BuildServer()
        {
            IBuildService fetchingService = null;

            string configJson = await IOHelper.ReadFile(this.configFilePath);

            List <WidgetConfiguration> widgetConfiguration = JsonConvert.DeserializeObject <List <WidgetConfiguration> >(configJson);

            if (widgetConfiguration != null && widgetConfiguration.Count > 0)
            {
                foreach (WidgetConfiguration item in widgetConfiguration)
                {
                    if (item.WidgetType == "bs")
                    {
                        object[] args = new object[] { item.RestApiUrls, item.RestApiHeader, };
                        fetchingService = (IBuildService)Activator.CreateInstance(Type.GetType(item.ServiceName), args);
                    }
                }
            }

            List <Build> result = new List <Build>();

            if (fetchingService != null)
            {
                result = fetchingService.GetBuilds();
            }

            return(this.Ok(result));
        }
Beispiel #2
0
        public ActionResult Builds()
        {
            //Doubtful
            string UserID = User != null?User.Identity.GetUserId() : null;

            IEnumerable <BuildEntityDTO>       buildEntityViewModels = Service.GetBuilds(UserID);
            IEnumerable <BuildEntityViewModel> buildEntities         =
                Mapper.Map <IEnumerable <BuildEntityDTO>,
                            IEnumerable <BuildEntityViewModel> >(buildEntityViewModels);

            return(View(buildEntities));
        }
        public ActionResult BuildTimeline(string projectName, string buildName, string sinceThisTime)
        {
            DateTime minBuildAge;

            if (!DateTime.TryParse(sinceThisTime, out minBuildAge))
            {
                minBuildAge = DateTime.Today;
            }

            var builds = buildService.GetBuilds(projectName, buildName, minBuildAge)
                         .OrderBy(b => b.StartedAt)
                         .ToList();

            DateTime?lastFinished = minBuildAge;

            if (builds.Any())
            {
                lastFinished = builds
                               .Where(b => b.Status == BuildStatus.Failed.ToString() || b.Status == BuildStatus.Succeeded.ToString())
                               .Select(b => b.FinishedAt)
                               .OrderByDescending(finished => finished)
                               .FirstOrDefault();
            }

            if (lastFinished == null)
            {
                lastFinished = DateTime.Today;
            }

            var lastFinishedParam = lastFinished.Value.ToString("dd-MM-yyyy HH:mm:ss");

            var buildTimeline = new
            {
                Self    = Url.Action("BuildTimeline", new { projectName, buildName }),
                Refresh = Url.Action("BuildTimeline", new { projectName, buildName, sinceThisTime = lastFinishedParam }),
                Builds  = builds
            };

            return(Json(buildTimeline));
        }
 public IEnumerable <Build> Get()
 {
     ResolveBuildService();
     return(buildService.GetBuilds(DateTime.Today));
 }