public static YamlProjectTriggerFilter FromModel(ProjectTriggerMachineFilter model)
 {
     return(new YamlProjectTriggerFilter
     {
         EnvironmentRefs = model.Environments.Select(e => e.Name).ToArray().NullIfEmpty(),
         RoleRefs = model.Roles.Select(r => r.Name).ToArray().NullIfEmpty(),
         EventGroupRefs = model.EventGroups.Select(r => r.Name).ToArray().NullIfEmpty(),
         EventCategoryRefs = model.EventCategories.Select(r => r.Name).ToArray().NullIfEmpty()
     });
 }
 public static TriggerFilterResource FromModel(this ProjectTriggerMachineFilter model, IOctopusRepository repository)
 {
     return(new MachineFilterResource
     {
         EnvironmentIds = new ReferenceCollection(model.Environments.Select(r => repository.Environments.ResolveResourceId(r))),
         Roles = new ReferenceCollection(model.Roles.Select(r => r.Name)),
         EventGroups = new ReferenceCollection(model.EventGroups.Select(r => r.Name)),
         EventCategories = new ReferenceCollection(model.EventCategories.Select(r => r.Name))
     });
 }
        private ProjectTrigger CreateProjectTrigger(string machineRef, string envRef)
        {
            var environments    = new[] { new ElementReference(envRef) };
            var roles           = new[] { new ElementReference(machineRef) };
            var eventGroups     = new[] { new ElementReference("eg1") };
            var eventCategories = new[] { new ElementReference("ec1") };
            var triggerFilter   =
                new ProjectTriggerMachineFilter(environments, roles, eventGroups, eventCategories);

            return(new ProjectTrigger(CreateItemWithRename <ElementIdentifier>(false), triggerFilter, CreateItem <ProjectTriggerAutoDeployAction>()));
        }