コード例 #1
0
        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[] {
コード例 #2
0
        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[] {