github.com/jfrog/jfrog-cli-core/v2@v2.51.0/missioncontrol/commands/licenserelease.go (about) 1 package commands 2 3 import ( 4 "encoding/json" 5 "errors" 6 "net/http" 7 8 "github.com/jfrog/jfrog-cli-core/v2/missioncontrol/utils" 9 "github.com/jfrog/jfrog-cli-core/v2/utils/config" 10 "github.com/jfrog/jfrog-client-go/http/httpclient" 11 "github.com/jfrog/jfrog-client-go/utils/errorutils" 12 "github.com/jfrog/jfrog-client-go/utils/log" 13 ) 14 15 func LicenseRelease(bucketId, jpdId string, mcDetails *config.ServerDetails) error { 16 postContent := LicenseReleaseRequestContent{ 17 Name: jpdId} 18 requestContent, err := json.Marshal(postContent) 19 if err != nil { 20 return errorutils.CheckErrorf("Failed to marshal json: " + err.Error()) 21 } 22 missionControlUrl := mcDetails.MissionControlUrl + "api/v1/buckets/" + bucketId + "/release" 23 httpClientDetails := utils.GetMissionControlHttpClientDetails(mcDetails) 24 client, err := httpclient.ClientBuilder().SetRetries(3).Build() 25 if err != nil { 26 return err 27 } 28 resp, body, err := client.SendPost(missionControlUrl, requestContent, httpClientDetails, "") 29 if err != nil { 30 return err 31 } 32 if err = errorutils.CheckResponseStatus(resp, http.StatusOK, http.StatusNoContent); err != nil { 33 return errors.New(resp.Status + ". " + utils.ReadMissionControlHttpMessage(body)) 34 } 35 log.Debug("Mission Control response: " + resp.Status) 36 return nil 37 } 38 39 type LicenseReleaseRequestContent struct { 40 Name string `json:"name,omitempty"` 41 }