示例#1
0
 public static YamlProjectTriggerProperties FromModel(ProjectTriggerProperties model)
 {
     return(new YamlProjectTriggerProperties
     {
         Events = model.Events.ToArray().NullIfEmpty(),
         EnvironmentRefs = model.Environments.Select(e => e.Name).ToArray().NullIfEmpty(),
         RoleRefs = model.MachineRoles.Select(r => r.Name).ToArray().NullIfEmpty()
     });
 }
 public ProjectTrigger(string name, ProjectTriggerType type, ProjectTriggerProperties properties)
 {
     Name       = name;
     Type       = type;
     Properties = properties;
 }
示例#3
0
 private static void UpdateProjectTriggerProperties(IDictionary <string, PropertyValueResource> resource, ProjectTriggerProperties model, IOctopusRepository repository)
 {
     resource.Clear();
     if (model.Events.Any())
     {
         resource.Add(EventTriggerConditionName, string.Join(",", model.Events));
     }
     if (model.Environments.Any())
     {
         resource.Add(EnvironmentsTriggerConditionName, string.Join(",", model.Environments.Select(e => repository.Environments.ResolveResourceId(e))));
     }
     if (model.MachineRoles.Any())
     {
         resource.Add(RolesTriggerConditionName, string.Join(",", model.MachineRoles.Select(e => e.Name)));
     }
 }
示例#4
0
        private ProjectTrigger CreateProjectTrigger(string machineRef, string envRef)
        {
            var triggerProperties = new ProjectTriggerProperties(new[] { ProjectTriggerProperties.TriggerEventType.NewDeploymentTargetBecomesAvailable }, new[] { new ElementReference(machineRef) }, new[] { new ElementReference(envRef) });

            return(new ProjectTrigger(CreateItem <string>(), CreateItem <ProjectTrigger.ProjectTriggerType>(), triggerProperties));
        }