コード例 #1
0
        private void CheckForFailedBuilds(IEnumerable <Build> builds)
        {
            var failedBuilds = builds.Where(x => x.Status == BuildStatus.Failure.ToString().ToUpper()).ToList();

            if (failedBuilds.Any())
            {
                // Get latest failed build, send to node;
                var latestFailedBuild = _tcService.GetLatestFailedBuild();

                if (_lastFailedBuild == null || !_lastFailedBuild.Equals(latestFailedBuild) ||
                    _lastFailedBuild.FinishDate != latestFailedBuild.FinishDate ||
                    _lastFailedBuild.LastModifiedBy != latestFailedBuild.LastModifiedBy)
                {
                    Log.Info("Found failed build, posting to node");
                    if (_nodeService.PostLatestFailedBuild(latestFailedBuild))
                    {
                        _lastFailedBuild = latestFailedBuild;
                    }
                }

                //TODO: Maybe
                //_nodeService.PostFailedBuilds(failedBuilds);
            }
            else
            {
                _lastFailedBuild = null;
            }
        }
コード例 #2
0
        public JsonResult <Build> LatestFailed()
        {
            var latestFailedBuuild = _teamCityService.GetLatestFailedBuild();

            return(Json(latestFailedBuuild));
        }