MCPcopy Create free account
hub / github.com/OctopusDeploy/cli / PromptMissing

Function PromptMissing

pkg/cmd/runbook/snapshot/create/create.go:311–400  ·  view source on GitHub ↗
(opts *CreateOptions)

Source from the content-addressed store, hash-verified

309}
310
311func PromptMissing(opts *CreateOptions) error {
312 project, err := getProject(opts)
313 if err != nil {
314 return err
315 }
316 opts.Project.Value = project.GetName()
317
318 runbooksInGit := shared.AreRunbooksInGit(project)
319 if runbooksInGit {
320 return errors.New("creating independent Runbook snapshots is not supported for Runbooks stored in Git")
321 }
322
323 selectedRunbook, err := getRunbook(opts, project)
324 if err != nil {
325 return err
326 }
327 opts.Runbook.Value = selectedRunbook.Name
328
329 template, err := opts.Client.Runbooks.GetRunbookSnapshotTemplate(selectedRunbook)
330
331 if err != nil {
332 return err
333 }
334
335 if opts.Name.Value == "" {
336 if err := opts.Ask(&survey.Input{
337 Message: "Snapshot name",
338 Help: "A short, memorable, name for this snapshot.",
339 Default: template.NextNameIncrement,
340 }, &opts.Name.Value); err != nil {
341 return err
342 }
343 }
344
345 packageVersionBaseline, err := packages.BuildPackageVersionBaseline(opts.Client, util.SliceTransform(template.Packages, func(pkg *releases.ReleaseTemplatePackage) releases.ReleaseTemplatePackage { return *pkg }), nil)
346 if err != nil {
347 return err
348 }
349
350 if len(packageVersionBaseline) > 0 { // if we have packages, run the package flow
351 _, packageVersionOverrides, err := packages.AskPackageOverrideLoop(
352 packageVersionBaseline,
353 opts.PackageVersion.Value,
354 opts.PackageVersionOverrides,
355 opts.Ask,
356 opts.Out)
357
358 if err != nil {
359 return err
360 }
361
362 if len(packageVersionOverrides) > 0 {
363 opts.PackageVersionOverrides = make([]string, 0, len(packageVersionOverrides))
364 for _, ov := range packageVersionOverrides {
365 opts.PackageVersionOverrides = append(opts.PackageVersionOverrides, ov.ToPackageOverrideString())
366 }
367 }
368 }

Callers 1

createRunFunction · 0.70

Calls 10

AreRunbooksInGitFunction · 0.92
SliceTransformFunction · 0.92
getProjectFunction · 0.70
getRunbookFunction · 0.70
GetNameMethod · 0.65
AskMethod · 0.65

Tested by

no test coverage detected