internal static void NotifyMerge(
            IRestApi restApi,
            string mergeBotName,
            string repository,
            string branchFullName,
            bool bHasManualMergeConflicts,
            string mergeMessage)
        {
            string repId;
            int    branchId;

            bool bSuccessful = restApi.GetBranchIdData(repository, branchFullName, out repId, out branchId);

            if (!bSuccessful)
            {
                return;
            }

            MergeReport report = new MergeReport();

            report.Timestamp    = DateTime.UtcNow;
            report.RepositoryId = repId;
            report.BranchId     = branchId;
            report.Properties   = new List <MergeReport.Entry>();

            MergeReport.Entry mergeProperty = new MergeReport.Entry();
            mergeProperty.Type  = bHasManualMergeConflicts ? "merge_failed" : "merge_ok";
            mergeProperty.Value = mergeMessage;

            report.Properties.Add(mergeProperty);

            restApi.SendMergeReport(mergeBotName, report);
        }
        internal static MergeReport CreateReport(string repositoryId, int branchId)
        {
            MergeReport result = new MergeReport();

            result.Timestamp    = DateTime.UtcNow;
            result.RepositoryId = repositoryId;
            result.BranchId     = branchId;
            result.Properties   = new List <MergeReport.Entry>();
            return(result);
        }
Example #3
0
        public void SendMergeReport(string mergeBotName, MergeReport report)
        {
            Uri endpoint = ApiUris.GetFullUri(
                mBaseUri,
                ApiEndpoints.MergeReports.ReportMerge,
                mergeBotName);

            string actionDescription = string.Format(
                "upload merge report of br:{0} (repo ID: {1})",
                report.BranchId,
                report.RepositoryId);

            Internal.MakeApiRequest <MergeReport>(
                endpoint, HttpMethod.Put, report, actionDescription, mPlasticBotUserToken);
        }