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; }
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))); } }
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)); }