Documentation
¶
Overview ¶
Package closecmd provides the command to close a work item (issue).
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var CloseCmd = &cobra.Command{ Use: "close <issue-number>", Short: "Closes a specific issue.", Example: " contextvibes project issues close 29", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { presenter := ui.NewPresenter(cmd.OutOrStdout(), cmd.ErrOrStderr()) ctx := cmd.Context() issueNumber, err := strconv.Atoi(args[0]) if err != nil { return errors.New("invalid issue number provided") } provider, err := newProvider(ctx, globals.AppLogger, globals.LoadedAppConfig) if err != nil { presenter.Error("Failed to initialize work item provider: %v", err) return err } presenter.Step("Fetching issue #%d...", issueNumber) item, err := provider.GetItem(ctx, issueNumber, false) if err != nil { presenter.Error("Failed to fetch issue: %v", err) return fmt.Errorf("failed to get item: %w", err) } if item.State == workitem.StateClosed { presenter.Info("Issue #%d is already closed.", issueNumber) return nil } item.State = workitem.StateClosed presenter.Step("Closing issue #%d...", issueNumber) _, err = provider.UpdateItem(ctx, issueNumber, *item) if err != nil { presenter.Error("Failed to close issue: %v", err) return fmt.Errorf("failed to update item: %w", err) } presenter.Success("✓ Issue #%d closed successfully.", issueNumber) return nil }, }
CloseCmd represents the project issues close command.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.