github.com/osievert/jfrog-cli-core@v1.2.7/missioncontrol/commands/jpdadd.go (about) 1 package commands 2 3 import ( 4 "errors" 5 "net/http" 6 7 "github.com/jfrog/jfrog-cli-core/missioncontrol/utils" 8 "github.com/jfrog/jfrog-cli-core/utils/config" 9 "github.com/jfrog/jfrog-client-go/http/httpclient" 10 clientutils "github.com/jfrog/jfrog-client-go/utils" 11 "github.com/jfrog/jfrog-client-go/utils/errorutils" 12 "github.com/jfrog/jfrog-client-go/utils/log" 13 ) 14 15 func JpdAdd(flags *JpdAddFlags) error { 16 missionControlUrl := flags.MissionControlDetails.Url + "api/v1/jpds" 17 httpClientDetails := utils.GetMissionControlHttpClientDetails(flags.MissionControlDetails) 18 client, err := httpclient.ClientBuilder().Build() 19 if err != nil { 20 return err 21 } 22 resp, body, err := client.SendPost(missionControlUrl, flags.JpdConfig, httpClientDetails) 23 if err != nil { 24 return err 25 } 26 if resp.StatusCode != http.StatusCreated { 27 return errorutils.CheckError(errors.New(resp.Status + ". " + utils.ReadMissionControlHttpMessage(body))) 28 } 29 30 log.Debug("Mission Control response: " + resp.Status) 31 log.Output(clientutils.IndentJson(body)) 32 return nil 33 } 34 35 type JpdAddFlags struct { 36 MissionControlDetails *config.MissionControlDetails 37 JpdConfig []byte 38 }