MCPcopy Create free account
hub / github.com/cli/cli / updateDraftIssue

Function updateDraftIssue

pkg/cmd/project/item-edit/item_edit.go:443–470  ·  view source on GitHub ↗
(config editItemConfig)

Source from the content-addressed store, hash-verified

441}
442
443func updateDraftIssue(config editItemConfig) error {
444 if !strings.HasPrefix(config.opts.itemID, "DI_") {
445 return cmdutil.FlagErrorf("ID must be the ID of the draft issue content which is prefixed with `DI_`")
446 }
447
448 // Fetch current draft issue to preserve fields that aren't being updated
449 var currentDraftIssue *queries.DraftIssue
450 var err error
451 if !config.opts.titleChanged || !config.opts.bodyChanged {
452 currentDraftIssue, err = fetchDraftIssueByID(config, config.opts.itemID)
453 if err != nil {
454 return err
455 }
456 }
457
458 query, variables := buildEditDraftIssue(config, currentDraftIssue)
459
460 err = config.client.Mutate("EditDraftIssueItem", query, variables)
461 if err != nil {
462 return err
463 }
464
465 if config.opts.exporter != nil {
466 return config.opts.exporter.Write(config.io, query.UpdateProjectV2DraftIssue.DraftIssue)
467 }
468
469 return printDraftIssueResults(config, query.UpdateProjectV2DraftIssue.DraftIssue)
470}
471
472func updateItemValues(config editItemConfig) error {
473 if err := fieldIdAndProjectIdPresence(config); err != nil {

Callers 1

runEditItemFunction · 0.85

Calls 6

FlagErrorfFunction · 0.92
fetchDraftIssueByIDFunction · 0.85
buildEditDraftIssueFunction · 0.85
printDraftIssueResultsFunction · 0.85
MutateMethod · 0.65
WriteMethod · 0.65

Tested by

no test coverage detected