diff --git a/pkg/cmd/issue/edit/edit.go b/pkg/cmd/issue/edit/edit.go index 4f6b07c4f..3f7cb3b84 100644 --- a/pkg/cmd/issue/edit/edit.go +++ b/pkg/cmd/issue/edit/edit.go @@ -129,20 +129,32 @@ func NewCmdEdit(f *cmdutil.Factory, runF func(*EditOptions) error) *cobra.Comman return cmd } -var lookupFields = []string{"id", "number", "title", "body", "assignees", "labels", "projectCards", "milestone", "url"} - func editRun(opts *EditOptions) error { httpClient, err := opts.HttpClient() if err != nil { return err } + editable := opts.Editable + lookupFields := []string{"id", "number", "title", "body", "url"} + if opts.Interactive || editable.Assignees.Edited { + lookupFields = append(lookupFields, "assignees") + } + if opts.Interactive || editable.Labels.Edited { + lookupFields = append(lookupFields, "labels") + } + if opts.Interactive || editable.Projects.Edited { + lookupFields = append(lookupFields, "projectCards") + } + if opts.Interactive || editable.Milestone.Edited { + lookupFields = append(lookupFields, "milestone") + } + issue, repo, err := shared.IssueFromArgWithFields(httpClient, opts.BaseRepo, opts.SelectorArg, lookupFields) if err != nil { return err } - editable := opts.Editable editable.Title.Default = issue.Title editable.Body.Default = issue.Body editable.Assignees.Default = issue.Assignees.Logins()