Example #1
0
        public async Task <ProjectTriggerEditor> CreateOrModify(string name, ProjectTriggerType type, params ProjectTriggerConditionEvent[] conditions)
        {
            var projectTriggerBuilder = await new ProjectTriggerEditor(repository).CreateOrModify(owner, name, type, conditions).ConfigureAwait(false);

            trackedProjectTriggerBuilders.Add(projectTriggerBuilder);
            return(projectTriggerBuilder);
        }
Example #2
0
        public ProjectTriggerEditor CreateOrModify(string name, ProjectTriggerType type, params ProjectTriggerConditionEvent[] conditions)
        {
            var projectTriggerBuilder = new ProjectTriggerEditor(repository).CreateOrModify(owner, name, type, conditions);

            trackedProjectTriggerBuilders.Add(projectTriggerBuilder);
            return(projectTriggerBuilder);
        }
Example #3
0
        public async Task <ProjectTriggerEditor> CreateOrModify(ProjectResource project, string name, ProjectTriggerType type, params ProjectTriggerConditionEvent[] conditions)
        {
            var conditionsCsv = string.Join(",", conditions.Select(x => x.ToString()).ToArray());

            var existing = await repository.FindByName(project, name).ConfigureAwait(false);

            if (existing == null)
            {
                Instance = await repository.Create(new ProjectTriggerResource
                {
                    Name       = name,
                    ProjectId  = project.Id,
                    Type       = type,
                    Properties =
                    {
                        { "Octopus.ProjectTriggerCondition.Events", new PropertyValueResource(conditionsCsv) }
                    }
                }).ConfigureAwait(false);
            }
            else
            {
                existing.Name = name;
                existing.Type = type;
                existing.Properties["Octopus.ProjectTriggerCondition.Events"] = new PropertyValueResource(conditionsCsv);
                Instance = await repository.Modify(existing).ConfigureAwait(false);
            }

            return(this);
        }
Example #4
0
 public Task <ProjectTriggerEditor> CreateOrModify(ProjectResource project, string name, ProjectTriggerType type)
 {
     return(new ProjectTriggerEditor(this).CreateOrModify(project, name, type));
 }
 public ProjectTrigger(string name, ProjectTriggerType type, ProjectTriggerProperties properties)
 {
     Name       = name;
     Type       = type;
     Properties = properties;
 }
Example #6
0
 public ProjectTriggerEditor CreateOrModify(ProjectResource project, string name, ProjectTriggerType type)
 {
     throw new System.NotImplementedException();
 }