コード例 #1
0
        internal override async Task <int> RunAsync(CancellationToken cancellationToken)
        {
            var context = await Context
                          .WithAzureLogon()
                          .WithDevOpsLogon()
                          .BuildAsync(cancellationToken);

            var  mappings = new AggregatorMappings(context.Devops, context.Azure, context.Logger);
            bool ok       = DevOpsEvents.IsValidEvent(Event);

            if (!ok)
            {
                context.Logger.WriteError($"Invalid event type.");
                return(2);
            }

            var filters = new AggregatorMappings.EventFilters
            {
                AreaPath = FilterAreaPath,
                Type     = FilterType,
                Tag      = FilterTag,
                Fields   = FilterFields
            };

            var instance = new InstanceName(Instance, ResourceGroup);
            var id       = await mappings.AddAsync(Project, Event, filters, instance, Rule, cancellationToken);

            return(id.Equals(Guid.Empty) ? 1 : 0);
        }
コード例 #2
0
        internal override async Task <int> RunAsync(CancellationToken cancellationToken)
        {
            var context = await Context
                          .WithAzureLogon()
                          .WithDevOpsLogon()
                          .BuildAsync(cancellationToken);

            context.ResourceGroupDeprecationCheck(this.ResourceGroup);
            var  mappings = new AggregatorMappings(context.Devops, context.Azure, context.Logger, context.Naming);
            bool ok       = DevOpsEvents.IsValidEvent(Event);

            if (!ok)
            {
                context.Logger.WriteError($"Invalid event type.");
                return(ExitCodes.InvalidArguments);
            }

            var filters = new EventFilters
            {
                AreaPath  = FilterAreaPath,
                Type      = FilterType,
                Tag       = FilterTag,
                Fields    = FilterFields,
                OnlyLinks = FilterOnlyLinks,
            };

            var instance = context.Naming.Instance(Instance, ResourceGroup);
            var id       = await mappings.AddAsync(Project, Event, filters, instance, Rule, ImpersonateExecution, cancellationToken);

            return(id.Equals(Guid.Empty) ? ExitCodes.Failure : ExitCodes.Success);
        }