From 74260fb08545e6ae42ee77524a8945b5aa58d192 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Egelund-M=C3=BCller?= Date: Wed, 5 Aug 2026 17:04:47 +0200 Subject: [PATCH] Don't prompt for service roles when flags are passed to `rill service create` --- cli/cmd/service/create.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cli/cmd/service/create.go b/cli/cmd/service/create.go index b575c532fd53..f20417e87727 100644 --- a/cli/cmd/service/create.go +++ b/cli/cmd/service/create.go @@ -38,7 +38,9 @@ func CreateCmd(ch *cmdutil.Helper) *cobra.Command { Org: ch.Org, } - if ch.Interactive && orgRole == "" { + hasFlags := cmd.Flags().Changed("org-role") || cmd.Flags().Changed("project-role") || cmd.Flags().Changed("project") || cmd.Flags().Changed("attributes") + + if ch.Interactive && !hasFlags { ok, err := cmdutil.YesNoPrompt("Do you want to assign an organization role to the service?", false) if err != nil { return err @@ -51,7 +53,7 @@ func CreateCmd(ch *cmdutil.Helper) *cobra.Command { } } - if ch.Interactive && projectRole == "" && !cmd.Flags().Changed("org-role") { + if ch.Interactive && !hasFlags { ok, err := cmdutil.YesNoPrompt("Do you want to assign a project role to the service?", false) if err != nil { return err @@ -72,6 +74,12 @@ func CreateCmd(ch *cmdutil.Helper) *cobra.Command { } } + if projectRole != "" && projectName == "" { + return fmt.Errorf("--project must be specified when --project-role is set") + } + if projectRole == "" && projectName != "" { + return fmt.Errorf("--project-role must be specified when --project is set") + } if orgRole == "" && projectRole == "" { return fmt.Errorf("either --org-role or --project-role must be specified") }