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