Пример #1
0
        private void UpdateNotifierByModel(ProjectModel project, BuildDetailModel buildDetail)
        {
            Debug.Assert(project != null);
            Debug.Assert(buildDetail != null);

            if (buildDetail.building == true)
            {
                this.UpdateNotifier(
                    runningNotificationInformation_,
                    project.displayName,
                    string.Format("Building [{0}]...", buildDetail.number),
                    string.Format("{0}{1}",
                        GetCauseDescription(buildDetail),
                        string.Join("\r\n", buildDetail.changeSet.items.
                            Select(item => string.Format("{0}: {1}", item.commitId.Trim(), item.author.fullName.Trim())))));
            }
            else if (buildDetail.result == Result.SUCCESS)
            {
                this.UpdateNotifier(
                    successNotificationInformation_,
                    project.displayName,
                    string.Format("Build SUCCESS [{0}].", buildDetail.number));
            }
            else if (buildDetail.result == Result.UNSTABLE)
            {
                this.UpdateNotifier(
                    unstableNotificationInformation_,
                    project.displayName,
                    string.Format("Build UNSTABLE [{0}].", buildDetail.number));
            }
            else if (buildDetail.result == Result.FAILURE)
            {
                this.UpdateNotifier(
                    failedNotificationInformation_,
                    project.displayName,
                    string.Format("Build FAILED [{0}].", buildDetail.number));
            }
            else
            {
                this.UpdateNotifier(
                    unknownNotificationInformation_,
                    project.displayName,
                    string.Format("Build status not recognized [{0}].", buildDetail.number));
            }
        }
Пример #2
0
        private static string GetCauseDescription(BuildDetailModel buildDetail)
        {
            Debug.Assert(buildDetail != null);

            var action = buildDetail.actions.FirstOrDefault();
            if (action == null)
            {
                return null;
            }

            var cause = action.causes.FirstOrDefault();
            if (cause == null)
            {
                return null;
            }

            if (string.IsNullOrWhiteSpace(cause.shortDescription) == true)
            {
                return null;
            }

            return cause.shortDescription.Trim() + "\r\n";
        }