MCPcopy Create free account
hub / github.com/OctopusDeploy/cli / getConfiguredProjects

Function getConfiguredProjects

pkg/cmd/ephemeralenvironment/create/create.go:55–81  ·  view source on GitHub ↗
(dependencies *cmd.Dependencies)

Source from the content-addressed store, hash-verified

53}
54
55func getConfiguredProjects(dependencies *cmd.Dependencies) ([]*projects.Project, error) {
56 allProjects, err := shared.GetAllProjects(dependencies.Client)
57 if err != nil {
58 return nil, err
59 }
60
61 var filteredProjects []*projects.Project
62
63 for _, project := range allProjects {
64 projectChannels, err := dependencies.Client.Projects.GetChannels(project)
65 if err != nil {
66 return nil, fmt.Errorf("failed to get channels for project '%s': %w", project.GetName(), err)
67 }
68
69 if slices.ContainsFunc(projectChannels, func(channel *channels.Channel) bool {
70 return channel.Type == "EphemeralEnvironment"
71 }) {
72 filteredProjects = append(filteredProjects, project)
73 }
74 }
75
76 if len(filteredProjects) == 0 {
77 return nil, fmt.Errorf("no configured projects - configure a project with an ephemeral environment channel before creating an ephemeral environment")
78 }
79
80 return filteredProjects, nil
81}
82
83func NewCmdCreate(f factory.Factory) *cobra.Command {
84 createFlags := NewCreateFlags()

Callers 1

NewCreateOptionsFunction · 0.70

Calls 2

GetAllProjectsFunction · 0.92
GetNameMethod · 0.65

Tested by

no test coverage detected