public BuildTransmittionRequest(string url, string templateFileName, NotificationRequest request) : base(url) { var data = request.Attachments.First(); var builder = data.Fields.FirstOrDefault(x => x.Title == builderTitle)?.Value; var duration = data.Fields.FirstOrDefault(x => x.Title == durationTitle)?.Value; var buildName = data.Fields.FirstOrDefault(x => x.Title == buildNameTitle)?.Value; var re = new Regex(@".*<(?<url>[^|]*)\|(?<number>.*)>.*"); var match = re.Match(data.PreText); var buildUrl = match.Groups["url"]?.Value; var buildNumber = match.Groups["number"]?.Value; if (!File.Exists(templateFileName)) { throw new ArgumentException($"Template file does not exists: '{templateFileName}'"); } var template = File.ReadAllText(templateFileName); var text = template.ReplaceAll(new[] {
public PullRequestCreatedTransmittionRequest(string url, string templateFileName, NotificationRequest request) : base(url) { var data = request.Attachments.First(); var destination = data.Fields.FirstOrDefault(x => x.Title == destinationTitle)?.Value; var branch = data.Fields.FirstOrDefault(x => x.Title == branchTitle)?.Value; var re = new Regex(@"(?<author>[А-Яа-я]+\s[А-Яа-я]+).*<(?<url>[^|]+)\|[\D]*(?<number>\d+)>\s\((?<name>[\w\s\[\]\:]*)\).*\|(?<project>\w+)>"); var match = re.Match(data.PreText); var author = match.Groups["author"]?.Value; var buildUrl = match.Groups["url"]?.Value; var number = match.Groups["number"]?.Value; var name = match.Groups["name"]?.Value; var project = match.Groups["project"]?.Value; if (!File.Exists(templateFileName)) { throw new ArgumentException($"Template file does not exists: '{templateFileName}'"); } var template = File.ReadAllText(templateFileName); var text = template.ReplaceAll(new[] {
public PullRequestApprovedTransmittionRequest(string url, string templateFileName, NotificationRequest request) : base(url) { var data = request.Attachments.First(); var re = new Regex(@"(?<author>[А-Яа-яA-Za-z]+\s[А-Яа-яA-Za-z]+)\W?\s(?<action>.*)\s<(?<url>[^|]+)\|[\D]*(?<number>\d+)>\s\((?<name>.*)\).*\|(?<project>\w+)>"); var match = re.Match(data.PreText); var author = match.Groups["author"]?.Value; var action = match.Groups["action"]?.Value; var buildUrl = match.Groups["url"]?.Value; var number = match.Groups["number"]?.Value; var name = match.Groups["name"]?.Value; var project = match.Groups["project"]?.Value; var actionData = GetAction(action); if (!File.Exists(templateFileName)) { throw new ArgumentException($"Template file does not exists: '{templateFileName}'"); } var template = File.ReadAllText(templateFileName); var text = template.ReplaceAll(new[] {