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

Function selectDeploymentEnvironment

pkg/cmd/release/deploy/deploy.go:959–980  ·  view source on GitHub ↗
(asker question.Asker, octopus *octopusApiClient.Client, deployableEnvironmentIDs []string, nextDeployEnvironmentID string)

Source from the content-addressed store, hash-verified

957}
958
959func selectDeploymentEnvironment(asker question.Asker, octopus *octopusApiClient.Client, deployableEnvironmentIDs []string, nextDeployEnvironmentID string) (*environments.Environment, error) {
960 allEnvs, nextDeployEnvironmentName, err := loadEnvironmentsForDeploy(octopus, deployableEnvironmentIDs, nextDeployEnvironmentID)
961 if err != nil {
962 return nil, err
963 }
964
965 optionMap, options := question.MakeItemMapAndOptions(allEnvs, func(e *environments.Environment) string { return e.Name })
966 var selectedKey string
967 err = asker(&survey.Select{
968 Message: "Select environment",
969 Options: options,
970 Default: nextDeployEnvironmentName,
971 }, &selectedKey)
972 if err != nil {
973 return nil, err
974 }
975 selectedValue, ok := optionMap[selectedKey]
976 if !ok {
977 return nil, fmt.Errorf("selectDeploymentEnvironment did not get valid answer (selectedKey=%s)", selectedKey)
978 }
979 return selectedValue, nil
980}
981
982func selectEphemeralDeploymentEnvironments(asker question.Asker, deployableEnvironments []*ephemeralenvironments.EphemeralEnvironment) ([]*ephemeralenvironments.EphemeralEnvironment, error) {
983 var err error

Calls 2

MakeItemMapAndOptionsFunction · 0.92

Tested by

no test coverage detected