示例#1
0
        protected async Task ReleaseCreationFailedAsync(Product product, ReleaseResponse buildEngineRelease)
        {
            ClearRecurringJob(product.Id);
            await UpdateProductPublication(buildEngineRelease, product, false);

            var buildEngineEndpoint = GetBuildEngineEndpoint(product.Project.Organization);
            var endpointUrl         = buildEngineEndpoint.IsValid() ? buildEngineEndpoint.Url : "";
            var buildEngineUrl      = endpointUrl + "/release-admin/view?id=" + product.WorkflowPublishId.ToString();
            var consoleTextUrl      = buildEngineRelease.ConsoleText;
            var messageParms        = new Dictionary <string, object>()
            {
                { "projectName", product.Project.Name },
                { "productName", product.ProductDefinition.Name },
                { "releaseStatus", buildEngineRelease.Status },
                { "releaseError", buildEngineRelease.Error },
                { "buildEngineUrl", buildEngineUrl },
                { "consoleTextUrl", consoleTextUrl },
                { "jobId", product.WorkflowJobId },
                { "buildId", product.WorkflowBuildId },
                { "publishId", product.WorkflowPublishId },
                { "projectId", product.ProjectId },
                { "projectUrl", product.Project.WorkflowAppProjectUrl }
            };
            await sendNotificationService.SendNotificationToOrgAdminsAndOwnerAsync(product.Project.Organization, product.Project.Owner, "releaseFailedOwner", "releaseFailedAdmin", messageParms, consoleTextUrl);
        }
示例#2
0
 protected async System.Threading.Tasks.Task SendNotificationOnFinalRetryAsync(PerformContext context,
                                                                               Organization organization,
                                                                               User user,
                                                                               string messageId,
                                                                               Dictionary <string, object> subs)
 {
     if (IsFinalRetry(context))
     {
         await SendNotificationService.SendNotificationToOrgAdminsAndOwnerAsync(organization, user,
                                                                                messageId, subs);
     }
 }
 protected async Task ReleaseCreationFailedAsync(Product product, ReleaseResponse buildEngineRelease)
 {
     ClearRecurringJob(product.Id);
     var messageParms = new Dictionary <string, object>()
     {
         { "projectName", product.Project.Name },
         { "productName", product.ProductDefinition.Name },
         { "releaseStatus", buildEngineRelease.Status },
         { "releaseError", buildEngineRelease.Error },
         { "buildEngineUrl", product.Project.Organization.BuildEngineUrl }
     };
     await sendNotificationService.SendNotificationToOrgAdminsAndOwnerAsync(product.Project.Organization, product.Project.Owner, "releaseFailed", messageParms);
 }
示例#4
0
 protected async Task SendNotificationOnFinalRetryAsync(PerformContext context,
                                                        Organization organization,
                                                        User user,
                                                        string ownerMessageId,
                                                        string adminMessageId,
                                                        Dictionary <string, object> subs,
                                                        string linkUrl)
 {
     if (IsFinalRetry(context))
     {
         await SendNotificationService.SendNotificationToOrgAdminsAndOwnerAsync(organization, user,
                                                                                ownerMessageId, adminMessageId, subs, linkUrl);
     }
 }