Beispiel #1
0
 private void OnBuildStatusChanged(BuildStatusChangedEventArgs e)
 {
     if (e.Args.Changed)
     {
         foreach (IQueuedBuild build in e.Queue.QueuedBuilds)
         {
             string message = string.Format("Team build '{0}' requested by '{1}' was promoted to its status '{2}'...", build.BuildDefinition.Name,
                                            build.RequestedBy, build.Status);
             UIContext.Instance.ShowTrayTooltip("Team build status change", message, ToolTipIcon.Info,
                                                new TeamBuildStatusChangeHandler(build));
         }
     }
 }
Beispiel #2
0
        private void OnBuildFacadeBuildStatusLoaded(object sender, BuildStatusChangedEventArgs e)
        {
            var crashedBuilds = new List <BuildCrashInfo>();

            foreach (var build in e.BuildDefinitions)
            {
                var buildDefinitionVm = SearchBuildById(Items, build.Id);
                if (buildDefinitionVm != null)
                {
                    buildDefinitionVm.Model = build.Clone();
                    if (build.LastRun != null)
                    {
                        buildDefinitionVm.BuildStatus = build.LastRun.BuildStatus;
                    }

                    var buildLastRun = build.LastRun;
                    if (buildLastRun != null)
                    {
                        if ((buildLastRun.BuildStatus == BuildStatusType.Failed) &&
                            CurrentBuildFacade.CurrentUser.Equals(buildLastRun.CommittedBy))
                        {
                            var crashedBuildInfo = new BuildCrashInfo()
                            {
                                User            = CurrentBuildFacade.CurrentUser,
                                BuildDefinition = buildDefinitionVm,
                                BuildRun        = buildLastRun,
                            };
                            crashedBuilds.Add(crashedBuildInfo);
                        }
                    }
                }
            }

            if (crashedBuilds.Count > 0)
            {
                BuildCrashedDialog.ShowDialog(crashedBuilds.ToArray());
            }
        }