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

Function releaseCreate

pkg/executor/release.go:41–90  ·  view source on GitHub ↗
(octopus *client.Client, space *spaces.Space, input any)

Source from the content-addressed store, hash-verified

39}
40
41func releaseCreate(octopus *client.Client, space *spaces.Space, input any) error {
42 params, ok := input.(*TaskOptionsCreateRelease)
43 if !ok {
44 return errors.New("invalid input type; expecting TaskOptionsCreateRelease")
45 }
46
47 if space == nil {
48 return errors.New("space must be specified")
49 }
50
51 // we have the provided project name; go look it up
52 if params.ProjectName == "" {
53 return errors.New("project must be specified")
54 }
55
56 createReleaseParams := releases.NewCreateReleaseCommandV1(space.ID, params.ProjectName)
57
58 createReleaseParams.PackageVersion = params.DefaultPackageVersion
59
60 if len(params.PackageVersionOverrides) > 0 {
61 createReleaseParams.Packages = params.PackageVersionOverrides
62 }
63
64 if len(params.GitResourceRefs) > 0 {
65 createReleaseParams.GitResources = params.GitResourceRefs
66 }
67
68 createReleaseParams.GitCommit = params.GitCommit
69 createReleaseParams.GitRef = params.GitReference
70
71 createReleaseParams.ReleaseVersion = params.Version
72 createReleaseParams.ChannelIDOrName = params.ChannelName
73
74 createReleaseParams.ReleaseNotes = params.ReleaseNotes
75
76 createReleaseParams.IgnoreIfAlreadyExists = params.IgnoreIfAlreadyExists
77 createReleaseParams.IgnoreChannelRules = params.IgnoreChannelRules
78
79 if len(params.CustomFields) > 0 {
80 createReleaseParams.CustomFields = params.CustomFields
81 }
82
83 createReleaseResponse, err := releases.CreateReleaseV1(octopus, createReleaseParams)
84 if err != nil {
85 return err
86 }
87
88 params.Response = createReleaseResponse
89 return nil
90}
91
92// ----- Deploy Release --------------------------------------
93

Callers 1

ProcessTasksFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected