@@ -2,6 +2,7 @@ package run
22
33import (
44 "encoding/json"
5+ "errors"
56 "fmt"
67 "io"
78 "math"
@@ -206,7 +207,7 @@ func runbookRun(cmd *cobra.Command, f factory.Factory, flags *RunFlags) error {
206207 return err
207208 }
208209
209- project , err := selectProject (octopus , cmd . OutOrStdout (), f . Ask , flags .Project .Value )
210+ project , err := selectProject (octopus , f , flags .Project .Value )
210211
211212 if err != nil {
212213 return err
@@ -487,19 +488,24 @@ func runGitRunbook(cmd *cobra.Command, f factory.Factory, flags *RunFlags, octop
487488 return nil
488489}
489490
490- func selectProject (octopus * octopusApiClient.Client , stdout io. Writer , asker question. Asker , projectName string ) (* projects.Project , error ) {
491+ func selectProject (octopus * octopusApiClient.Client , f factory. Factory , projectName string ) (* projects.Project , error ) {
491492 if projectName == "" {
492- selectedProject , err := selectors .Project ("Select project" , octopus , asker )
493- if err != nil {
494- return nil , err
493+ if f .IsPromptEnabled () {
494+ selectedProject , err := selectors .Project ("Select project" , octopus , f .Ask )
495+ if err != nil {
496+ return nil , err
497+ }
498+ return selectedProject , nil
499+ } else {
500+ // Project name not provided and not asking questions so error out
501+ return nil , errors .New ("project must be specified" )
495502 }
496- return selectedProject , nil
497503 } else { // project name is already provided, fetch the object because it's needed for further questions
498504 selectedProject , err := selectors .FindProject (octopus , projectName )
499505 if err != nil {
500506 return nil , err
501507 }
502- _ , _ = fmt . Fprintf ( stdout , "Project %s \n " , output . Cyan ( selectedProject . Name ))
508+
503509 return selectedProject , nil
504510 }
505511}
0 commit comments