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);
        }